[Mesa-dev] [PATCH 01/12] i965: Assign PS kernel start pointers when we decide which kernels to use

Ian Romanick idr at freedesktop.org
Wed Aug 13 18:16:58 PDT 2014


On 08/13/2014 06:16 PM, Ian Romanick wrote:
> On 08/11/2014 05:29 PM, Kristian Høgsberg wrote:
>> Right now we decide which kernels to use and the GRF start offsets in
>> one place and emit the kernel pointers later.  The logic of how to map
>> 8, 16 and 32 kernels to kernel start pointers follows the same logic as which
>> GRF start offsets to use, so lets figure out these two things in one place.
>>
>> Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
>> ---
>>  src/mesa/drivers/dri/i965/gen6_wm_state.c | 16 ++++++++--------
>>  src/mesa/drivers/dri/i965/gen7_wm_state.c | 18 ++++++++++--------
>>  src/mesa/drivers/dri/i965/gen8_ps_state.c | 14 ++++++++------
>>  3 files changed, 26 insertions(+), 22 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c
>> index 047e036..ebd8443 100644
>> --- a/src/mesa/drivers/dri/i965/gen6_wm_state.c
>> +++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c
>> @@ -71,7 +71,7 @@ upload_wm_state(struct brw_context *brw)
>>     struct gl_context *ctx = &brw->ctx;
>>     const struct brw_fragment_program *fp =
>>        brw_fragment_program_const(brw->fragment_program);
>> -   uint32_t dw2, dw4, dw5, dw6;
>> +   uint32_t dw2, dw4, dw5, dw6, ksp0, ksp2;
>>  
>>     /* _NEW_BUFFERS */
>>     bool multisampled_fbo = ctx->DrawBuffer->Visual.samples > 1;
>> @@ -109,7 +109,7 @@ upload_wm_state(struct brw_context *brw)
>>        ADVANCE_BATCH();
>>     }
>>  
>> -   dw2 = dw4 = dw5 = dw6 = 0;
>> +   dw2 = dw4 = dw5 = dw6 = ksp2 = 0;
>>     dw4 |= GEN6_WM_STATISTICS_ENABLE;
>>     dw5 |= GEN6_WM_LINE_AA_WIDTH_1_0;
>>     dw5 |= GEN6_WM_LINE_END_CAP_AA_WIDTH_0_5;
>> @@ -151,14 +151,18 @@ upload_wm_state(struct brw_context *brw)
>>                   GEN6_WM_DISPATCH_START_GRF_SHIFT_0);
>>           dw4 |= (brw->wm.prog_data->dispatch_grf_start_reg_16 <<
>>                   GEN6_WM_DISPATCH_START_GRF_SHIFT_2);
>> +         ksp0 = brw->wm.base.prog_offset;
>> +         ksp2 = brw->wm.base.prog_offset + brw->wm.prog_data->prog_offset_16;
>>        } else
>>           dw4 |= (brw->wm.prog_data->dispatch_grf_start_reg_16 <<
>>                  GEN6_WM_DISPATCH_START_GRF_SHIFT_0);
>> +         ksp0 = brw->wm.base.prog_offset + brw->wm.prog_data->prog_offset_16;
> 
> This looks pretty broken.  More { and } are needed.

Which Ken also noticed.  Never mind.



More information about the mesa-dev mailing list