diff options
author | Ilia Mirkin <[email protected]> | 2014-05-09 23:13:38 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2014-05-11 19:26:31 -0400 |
commit | 863573b9cbeb26722fe7bdfbcc4ca6bffdc7dbf6 (patch) | |
tree | 5fdb7c83606d133e794f71bda254a460813f79b8 /src/gallium/drivers/nouveau/codegen | |
parent | 68f47cad0d23281309741cc47eeaa26ebbb41bca (diff) |
nv50: fix setting of texture ms info to be per-stage
Different textures may be bound to each slot for each stage. So we need
to be able to upload ms parameters for each one without stages
overwriting each other.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Ben Skeggs <[email protected]>
Cc: "10.1 10.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp index eafc0a73bc6..63db1d7554c 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp @@ -591,6 +591,10 @@ void NV50LoweringPreSSA::loadTexMsInfo(uint32_t off, Value **ms, Value *tmp = new_LValue(func, FILE_GPR); uint8_t b = prog->driver->io.resInfoCBSlot; off += prog->driver->io.suInfoBase; + if (prog->getType() > Program::TYPE_VERTEX) + off += 16 * 2 * 4; + if (prog->getType() > Program::TYPE_GEOMETRY) + off += 16 * 2 * 4; *ms_x = bld.mkLoadv(TYPE_U32, bld.mkSymbol( FILE_MEMORY_CONST, b, TYPE_U32, off + 0), NULL); *ms_y = bld.mkLoadv(TYPE_U32, bld.mkSymbol( |