v3d: Rename v3d_tmu_config_data to v3d_unit_data.
I want to reuse this for encoding small constant UBO/SSBO offsets into the uniform stream to reduce the extra uniform loads and adds for the small constant offsets.
This commit is contained in:
parent
b30aad552c
commit
c36d2793ec
|
@ -281,17 +281,17 @@ enum quniform_contents {
|
||||||
QUNIFORM_SHARED_OFFSET,
|
QUNIFORM_SHARED_OFFSET,
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline uint32_t v3d_tmu_config_data_create(uint32_t unit, uint32_t value)
|
static inline uint32_t v3d_unit_data_create(uint32_t unit, uint32_t value)
|
||||||
{
|
{
|
||||||
return unit << 24 | value;
|
return unit << 24 | value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline uint32_t v3d_tmu_config_data_get_unit(uint32_t data)
|
static inline uint32_t v3d_unit_data_get_unit(uint32_t data)
|
||||||
{
|
{
|
||||||
return data >> 24;
|
return data >> 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline uint32_t v3d_tmu_config_data_get_value(uint32_t data)
|
static inline uint32_t v3d_unit_data_get_offset(uint32_t data)
|
||||||
{
|
{
|
||||||
return data & 0xffffff;
|
return data & 0xffffff;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,20 +53,20 @@ vir_dump_uniform(enum quniform_contents contents,
|
||||||
|
|
||||||
case QUNIFORM_TMU_CONFIG_P0:
|
case QUNIFORM_TMU_CONFIG_P0:
|
||||||
fprintf(stderr, "tex[%d].p0 | 0x%x",
|
fprintf(stderr, "tex[%d].p0 | 0x%x",
|
||||||
v3d_tmu_config_data_get_unit(data),
|
v3d_unit_data_get_unit(data),
|
||||||
v3d_tmu_config_data_get_value(data));
|
v3d_unit_data_get_offset(data));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QUNIFORM_TMU_CONFIG_P1:
|
case QUNIFORM_TMU_CONFIG_P1:
|
||||||
fprintf(stderr, "tex[%d].p1 | 0x%x",
|
fprintf(stderr, "tex[%d].p1 | 0x%x",
|
||||||
v3d_tmu_config_data_get_unit(data),
|
v3d_unit_data_get_unit(data),
|
||||||
v3d_tmu_config_data_get_value(data));
|
v3d_unit_data_get_offset(data));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QUNIFORM_IMAGE_TMU_CONFIG_P0:
|
case QUNIFORM_IMAGE_TMU_CONFIG_P0:
|
||||||
fprintf(stderr, "img[%d].p0 | 0x%x",
|
fprintf(stderr, "img[%d].p0 | 0x%x",
|
||||||
v3d_tmu_config_data_get_unit(data),
|
v3d_unit_data_get_unit(data),
|
||||||
v3d_tmu_config_data_get_value(data));
|
v3d_unit_data_get_offset(data));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QUNIFORM_TEXTURE_WIDTH:
|
case QUNIFORM_TEXTURE_WIDTH:
|
||||||
|
|
|
@ -172,13 +172,13 @@ write_tmu_p0(struct v3d_job *job,
|
||||||
struct v3d_texture_stateobj *texstate,
|
struct v3d_texture_stateobj *texstate,
|
||||||
uint32_t data)
|
uint32_t data)
|
||||||
{
|
{
|
||||||
int unit = v3d_tmu_config_data_get_unit(data);
|
int unit = v3d_unit_data_get_unit(data);
|
||||||
struct pipe_sampler_view *psview = texstate->textures[unit];
|
struct pipe_sampler_view *psview = texstate->textures[unit];
|
||||||
struct v3d_sampler_view *sview = v3d_sampler_view(psview);
|
struct v3d_sampler_view *sview = v3d_sampler_view(psview);
|
||||||
struct v3d_resource *rsc = v3d_resource(sview->texture);
|
struct v3d_resource *rsc = v3d_resource(sview->texture);
|
||||||
|
|
||||||
cl_aligned_reloc(&job->indirect, uniforms, sview->bo,
|
cl_aligned_reloc(&job->indirect, uniforms, sview->bo,
|
||||||
v3d_tmu_config_data_get_value(data));
|
v3d_unit_data_get_offset(data));
|
||||||
v3d_job_add_bo(job, rsc->bo);
|
v3d_job_add_bo(job, rsc->bo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ write_tmu_p1(struct v3d_job *job,
|
||||||
struct v3d_texture_stateobj *texstate,
|
struct v3d_texture_stateobj *texstate,
|
||||||
uint32_t data)
|
uint32_t data)
|
||||||
{
|
{
|
||||||
uint32_t unit = v3d_tmu_config_data_get_unit(data);
|
uint32_t unit = v3d_unit_data_get_unit(data);
|
||||||
struct pipe_sampler_state *psampler = texstate->samplers[unit];
|
struct pipe_sampler_state *psampler = texstate->samplers[unit];
|
||||||
struct v3d_sampler_state *sampler = v3d_sampler_state(psampler);
|
struct v3d_sampler_state *sampler = v3d_sampler_state(psampler);
|
||||||
struct pipe_sampler_view *psview = texstate->textures[unit];
|
struct pipe_sampler_view *psview = texstate->textures[unit];
|
||||||
|
@ -223,7 +223,7 @@ write_tmu_p1(struct v3d_job *job,
|
||||||
cl_aligned_reloc(&job->indirect, uniforms,
|
cl_aligned_reloc(&job->indirect, uniforms,
|
||||||
v3d_resource(sampler->sampler_state)->bo,
|
v3d_resource(sampler->sampler_state)->bo,
|
||||||
sampler->sampler_state_offset[variant] |
|
sampler->sampler_state_offset[variant] |
|
||||||
v3d_tmu_config_data_get_value(data));
|
v3d_unit_data_get_offset(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
struct v3d_cl_reloc
|
struct v3d_cl_reloc
|
||||||
|
|
Loading…
Reference in New Issue