X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fnouveau%2Fcodegen%2Fnv50_ir_target.h;h=eaf50cc19be02889107721b17d7a1feefafa7800;hb=a4ace98a9733b3e83d971f4871c2908749c0e5c8;hp=674bdc6964e65193cc2a321396bb1b69110aa139;hpb=f5fe9030021af830e6c4453f4ad1521cbb697c81;p=mesa.git diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h index 674bdc6964e..eaf50cc19be 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h @@ -59,10 +59,11 @@ struct RelocInfo }; struct FixupData { - FixupData(bool force, bool flat) : - force_persample_interp(force), flatshade(flat) {} + FixupData(bool force, bool flat, uint8_t alphatest) : + force_persample_interp(force), flatshade(flat), alphatest(alphatest) {} bool force_persample_interp; bool flatshade; + uint8_t alphatest; }; struct FixupEntry; @@ -172,7 +173,11 @@ public: // The address chosen is supplied to the relocation routine. virtual void getBuiltinCode(const uint32_t **code, uint32_t *size) const = 0; - virtual void parseDriverInfo(const struct nv50_ir_prog_info *info) { } + virtual void parseDriverInfo(const struct nv50_ir_prog_info *info) { + threads = info->prop.cp.numThreads; + if (threads == 0) + threads = info->target >= NVISA_GK104_CHIPSET ? 1024 : 512; + } virtual bool runLegalizePass(Program *, CGStage stage) const = 0; @@ -248,6 +253,7 @@ public: protected: uint32_t chipset; + uint32_t threads; DataFile nativeFileMap[DATA_FILE_COUNT];