summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvc0/nvc0_program.c
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2013-02-23 00:00:27 +0100
committerChristoph Bumiller <[email protected]>2013-03-12 12:55:35 +0100
commit4506ed28de7f9d76bbc99c0758a7891b84528729 (patch)
tree2b045c70b3417739c8eaf36539231f6627e8f7c8 /src/gallium/drivers/nvc0/nvc0_program.c
parent8ac68b071d5c746b7f0ff175a09647e7dbfc29d1 (diff)
nvc0/ir: implement lowering of surface ops for nve4
Diffstat (limited to 'src/gallium/drivers/nvc0/nvc0_program.c')
-rw-r--r--src/gallium/drivers/nvc0/nvc0_program.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_program.c b/src/gallium/drivers/nvc0/nvc0_program.c
index 39393a1f61c..e4ac8ba8e2c 100644
--- a/src/gallium/drivers/nvc0/nvc0_program.c
+++ b/src/gallium/drivers/nvc0/nvc0_program.c
@@ -564,7 +564,25 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset)
info->io.genUserClip = prog->vp.num_ucps;
info->io.ucpBase = 256;
- info->io.ucpBinding = 15;
+ info->io.ucpCBSlot = 15;
+
+ if (prog->type == PIPE_SHADER_COMPUTE) {
+ if (chipset >= NVISA_GK104_CHIPSET) {
+ info->io.resInfoCBSlot = 0;
+ info->io.texBindBase = 0; /* TODO */
+ info->io.suInfoBase = 0; /* TODO */
+ }
+ info->io.msInfoCBSlot = 0;
+ info->io.msInfoBase = 0; /* TODO */
+ } else {
+ if (chipset >= NVISA_GK104_CHIPSET) {
+ info->io.resInfoCBSlot = 15;
+ info->io.texBindBase = 0x20;
+ info->io.suInfoBase = 0; /* TODO */
+ }
+ info->io.msInfoCBSlot = 15;
+ info->io.msInfoBase = 0; /* TODO */
+ }
info->assignSlots = nvc0_program_assign_varying_slots;