[Mesa-dev] [PATCH] mesa: reference built-in uniforms into gl_uniform_storage

Jose Fonseca jfonseca at vmware.com
Thu Jun 4 03:50:43 PDT 2015


On 04/06/15 11:23, Martin Peres wrote:
> On 04/06/15 13:07, Jose Fonseca wrote:
>> On 04/06/15 10:56, Martin Peres wrote:
>>> On 04/06/15 12:53, Jose Fonseca wrote:
>>>> On 31/05/15 08:10, Tapani wrote:
>>>>>
>>>>> I've read this a couple of times now and cannot spot any users of
>>>>> storage that would be making a wrong assumption, you've fixed these
>>>>> and
>>>>> I trust Jenkins was OK for i915?
>>>>>
>>>>> Everything is ok if you remove 'I think' and 'Hopefully' from commit
>>>>> message :)
>>>>
>>>> Martin's fears were legitimate, as this change just caused +2729 tests
>>>> to fail with piglit. :)
>>>>
>>>> So there must be some code that still needs to be updated somewhere
>>>> (maybe in the gallium specific paths).  Question is then: Where's
>>>> Wally?
>>>>
>>>> Jose
>>>
>>> Thanks for the notification Jose! I will try running piglit on llvmpipe
>>> and see if I can reproduce! I did not get any error on the intel driver.
>>> Will re-launch a test on our test platform, just in case!
>>
>> Thanks. No prob.
>>
>> I forgot to say -- this was with llvmpipe. Even something basic as
>>
>>   bin/shader_runner
>> tests/shaders/glsl-uniform-initializer-1.shader_test -auto
>>
>> regressed, so hopefully it should be easy to spot.
>
> Hopefully, indeed :) I just confirmed that I did not introduce any
> regression on the intel side. Will start debugging in the gallium world!
>
> Martin


It looks like gl_program_parameter_list::ParameterValues is not being 
properly updated by the time it reaches 
src/mesa/state_tracker/st_atom_constbuf.c:


$ ST_DEBUG=constants bin/shader_runner 
tests/shaders/glsl-uniform-initializer-1.shader_test -auto
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 1, 0, 0}
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 0, 1, 0}
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 1, 0, 0}
PIGLIT: {"result": "pass" }


$ ST_DEBUG=constants bin/shader_runner 
tests/shaders/glsl-uniform-initializer-1.shader_test -auto
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 0, 0, 0}
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 0, 0, 0}
st_upload_constants(shader=1, numParams=1, stateFlags=0x0)
dirty state flags: 0x0
param[0] sz=4 UNIFORM color = {0, 0, 0, 0}
Probe color at (62,125)
   Expected: 0.000000 1.000000 0.000000
   Observed: 0.000000 0.000000 0.000000
Probe color at (187,125)
   Expected: 0.000000 0.000000 1.000000
   Observed: 0.000000 0.000000 0.000000
PIGLIT: {"result": "fail" }



More information about the mesa-dev mailing list