i965: Make Gen4-5 push constants call _mesa_load_state_parameters too.
In commit 5e37a2a4a8
, I made the pull constant code stop calling
_mesa_load_state_parameters() when there were no pull parameters.
This worked fine on Gen6+ because the push constant code also called
it if there were any push constants. However, the Gen4-5 push constant
code wasn't doing this. This patch makes it do so, like the Gen6+ code.
A better long term solution would be to make core Mesa just handle this
for us when necessary.
Fixes around 8766 Piglit tests on Ironlake, and probably Gen4 as well.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
This commit is contained in:
parent
88fea85f09
commit
a746be259d
|
@ -211,6 +211,8 @@ brw_upload_constant_buffer(struct brw_context *brw)
|
|||
|
||||
/* fragment shader constants */
|
||||
if (brw->curbe.wm_size) {
|
||||
_mesa_load_state_parameters(ctx, brw->fragment_program->Base.Parameters);
|
||||
|
||||
/* BRW_NEW_CURBE_OFFSETS */
|
||||
GLuint offset = brw->curbe.wm_start * 16;
|
||||
|
||||
|
@ -251,6 +253,8 @@ brw_upload_constant_buffer(struct brw_context *brw)
|
|||
|
||||
/* vertex shader constants */
|
||||
if (brw->curbe.vs_size) {
|
||||
_mesa_load_state_parameters(ctx, brw->vertex_program->Base.Parameters);
|
||||
|
||||
GLuint offset = brw->curbe.vs_start * 16;
|
||||
|
||||
/* CACHE_NEW_VS_PROG | _NEW_PROGRAM_CONSTANTS: copy uniform values */
|
||||
|
|
Loading…
Reference in New Issue