mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-30 21:21:39 +02:00
freedreno: handle null sampler
This is something that XA triggers. In some cases it will only use SAMP[1] (composite mask) but not SAMP[0] (composite src). Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
parent
9b6b084eb7
commit
92141afd0e
2 changed files with 8 additions and 3 deletions
|
|
@ -124,13 +124,16 @@ emit_texture(struct fd_ringbuffer *ring, struct fd_context *ctx,
|
|||
struct fd_texture_stateobj *tex, unsigned samp_id, texmask emitted)
|
||||
{
|
||||
unsigned const_idx = fd2_get_const_idx(ctx, tex, samp_id);
|
||||
static const struct fd2_sampler_stateobj dummy_sampler = {};
|
||||
struct fd2_sampler_stateobj *sampler;
|
||||
struct fd2_pipe_sampler_view *view;
|
||||
|
||||
if (emitted & (1 << const_idx))
|
||||
return 0;
|
||||
|
||||
sampler = fd2_sampler_stateobj(tex->samplers[samp_id]);
|
||||
sampler = tex->samplers[samp_id] ?
|
||||
fd2_sampler_stateobj(tex->samplers[samp_id]) :
|
||||
&dummy_sampler;
|
||||
view = fd2_pipe_sampler_view(tex->textures[samp_id]);
|
||||
|
||||
OUT_PKT3(ring, CP_SET_CONSTANT, 7);
|
||||
|
|
|
|||
|
|
@ -176,8 +176,10 @@ emit_textures(struct fd_ringbuffer *ring,
|
|||
OUT_RING(ring, CP_LOAD_STATE_1_STATE_TYPE(ST_SHADER) |
|
||||
CP_LOAD_STATE_1_EXT_SRC_ADDR(0));
|
||||
for (i = 0; i < tex->num_samplers; i++) {
|
||||
struct fd3_sampler_stateobj *sampler =
|
||||
fd3_sampler_stateobj(tex->samplers[i]);
|
||||
static const struct fd3_sampler_stateobj dummy_sampler = {};
|
||||
struct fd3_sampler_stateobj *sampler = tex->samplers[i] ?
|
||||
fd3_sampler_stateobj(tex->samplers[i]) :
|
||||
&dummy_sampler;
|
||||
OUT_RING(ring, sampler->texsamp0);
|
||||
OUT_RING(ring, sampler->texsamp1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue