Created attachment 106089 [details]
The API reports the correct offsets for everything, but the compiler generates the following for the UBO access:
(expression int ubo_load (constant uint (0)) (constant uint (64)))
The offset should be 112, not 64.
I run it against today's master (d69da58) on a HSW machine and I got the right offset for the UBO access:
(expression int ubo_load (constant uint (0)) (constant uint (112))
Is it still happening to you?
glsl: Strip arrayness from ir_type_dereference_variable too
If the thing being dereferenced is a record or an array of records, it
should be treated as row-major. The ir_type_derference_record path
already does this, and I think I intended to do the same for this path
Signed-off-by: Ian Romanick <firstname.lastname@example.org>
Reviewed-by: Jordan Justen <email@example.com>
on Mar 25, 2017 at 09:38:24.
(provided by the Example extension).