r600: fix textureSize queries with tbos
authorRoland Scheidegger <sroland@vmware.com>
Sat, 23 Dec 2017 03:50:13 +0000 (04:50 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Sat, 30 Dec 2017 02:30:48 +0000 (03:30 +0100)
commit878bc4a5ae6215a5d84c3e3a5c9575ccd1ae27e2
tree11b78cc17a9e9c4d0f523920588a8ccbdd477dde
parenteafaf136862db1c5c6a63e2127d553a38dcc63f2
r600: fix textureSize queries with tbos

piglit doesn't care, but I'm quite confident that the size actually bound
as range should be reported and not the base size of the resource (and
some quick piglit test hacking confirms this).
Also, the array in the constant buffer looks overallocated by a factor of 4.
For eg, also decrease the size by another factor of 2 by using the same
constant slot for both buffer size (required for txq for TBOs) and the number
of layers for cube arrays, as these are mutually exclusive. Could of course use
some more logic and only actually do this for the samplers/images/buffers where
it's required rather than for all, but ah well...

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c
src/gallium/drivers/r600/r600_state_common.c