[Nouveau] [PATCH mesa v2 1/3] nouveau: codegen: Disable more old resource handling code
Samuel Pitoiset
samuel.pitoiset at gmail.com
Thu Mar 17 09:20:23 UTC 2016
Series is:
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 03/17/2016 10:13 AM, Hans de Goede wrote:
> Commit c3083c7082 ("nv50/ir: add support for BUFFER accesses") disabled /
> commented out some of the old resource handling code, but not all of it.
>
> Effectively all of it is dead already, if we ever enter the old code
> paths in handeLOAD / handleSTORE / handleATOM we will get an exception
> due to trying to access the now always zero-sized resources vector.
>
> Disable all the dead code.
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> Changes in v2:
> -Split out assert() on getFile() != BUFFER/MEMORY into a separate patch
> -Split out removal of TGSI_RESOURCE_* defines into a separate patch
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> index 1e91ad3..41eb4e3 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> @@ -856,12 +856,14 @@ public:
> };
> std::vector<TextureView> textureViews;
>
> + /*
> struct Resource {
> uint8_t target; // TGSI_TEXTURE_*
> bool raw;
> uint8_t slot; // $surface index
> };
> std::vector<Resource> resources;
> + */
>
> struct MemoryFile {
> uint8_t mem_type; // TGSI_MEMORY_TYPE_*
> @@ -1419,8 +1421,8 @@ private:
> void handleLIT(Value *dst0[4]);
> void handleUserClipPlanes();
>
> - Symbol *getResourceBase(int r);
> - void getResourceCoords(std::vector<Value *>&, int r, int s);
> + // Symbol *getResourceBase(int r);
> + // void getResourceCoords(std::vector<Value *>&, int r, int s);
>
> void handleLOAD(Value *dst0[4]);
> void handleSTORE();
> @@ -2161,6 +2163,7 @@ Converter::handleLIT(Value *dst0[4])
> }
> }
>
> +/* Keep this around for now as reference when adding img support
> static inline bool
> isResourceSpecial(const int r)
> {
> @@ -2256,6 +2259,7 @@ partitionLoadStore(uint8_t comp[2], uint8_t size[2], uint8_t mask)
> }
> return n + 1;
> }
> +*/
>
> // For raw loads, granularity is 4 byte.
> // Usage of the texture read mask on OP_SULDP is not allowed.
> @@ -2290,6 +2294,7 @@ Converter::handleLOAD(Value *dst0[4])
> return;
> }
>
> +/* Keep this around for now as reference when adding img support
> getResourceCoords(off, r, 1);
>
> if (isResourceRaw(code, r)) {
> @@ -2355,6 +2360,7 @@ Converter::handleLOAD(Value *dst0[4])
> FOR_EACH_DST_ENABLED_CHANNEL(0, c, tgsi)
> if (dst0[c] != def[c])
> mkMov(dst0[c], def[tgsi.getSrc(0).getSwizzle(c)]);
> +*/
> }
>
> // For formatted stores, the write mask on OP_SUSTP can be used.
> @@ -2391,6 +2397,7 @@ Converter::handleSTORE()
> return;
> }
>
> +/* Keep this around for now as reference when adding img support
> getResourceCoords(off, r, 0);
> src = off;
> const int s = src.size();
> @@ -2438,6 +2445,7 @@ Converter::handleSTORE()
> mkTex(OP_SUSTP, getResourceTarget(code, r), code->resources[r].slot, 0,
> dummy, src)->tex.mask = tgsi.getDst(0).getMask();
> }
> +*/
> }
>
> // XXX: These only work on resources with the single-component u32/s32 formats.
> @@ -2484,7 +2492,7 @@ Converter::handleATOM(Value *dst0[4], DataType ty, uint16_t subOp)
> return;
> }
>
> -
> +/* Keep this around for now as reference when adding img support
> getResourceCoords(srcv, r, 1);
>
> if (isResourceSpecial(r)) {
> @@ -2512,6 +2520,7 @@ Converter::handleATOM(Value *dst0[4], DataType ty, uint16_t subOp)
> for (int c = 0; c < 4; ++c)
> if (dst0[c])
> dst0[c] = dst; // not equal to rDst so handleInstruction will do mkMov
> +*/
> }
>
> void
>
More information about the Nouveau
mailing list