svga: emit sampler constants only if sampler view exists
authorCharmaine Lee <charmainel@vmware.com>
Sat, 22 Jul 2017 05:42:30 +0000 (22:42 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 3 Oct 2017 18:07:05 +0000 (12:07 -0600)
commit3c71c42827766f66c300cf1f32679c33c54950c8
tree4ebff48a674ef92acec9edc1a7c9b7a288a36c52
parentb7c08e50812cd356bfe8caa00f1962c97774744f
svga: emit sampler constants only if sampler view exists

It is possible to have holes in the shader emitter's sampler_target array.
0 sampler_target does not necessarily mean there is no sampler view
specified since texture buffer target has the value 0.
With this patch, a sampler_view array is added to the shader emitter structure
to specify if there is a sampler view for each texture unit. Only if there
is a sampler view, we will emit constant for texcoord scale factor or texture
buffer size for that sampler view.

Fixes a rendering issue with Turbine after commit 1020e960440.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/svga/svga_tgsi_vgpu10.c