mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-16 21:40:38 +01:00
r600g: accept empty frag prog shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
parent
1bb0427a85
commit
481b65abae
3 changed files with 17 additions and 3 deletions
|
|
@ -167,8 +167,7 @@ int r600_bc_add_literal(struct r600_bc *bc, const u32 *value)
|
|||
struct r600_bc_alu *alu;
|
||||
|
||||
if (bc->cf_last == NULL) {
|
||||
R600_ERR("no last CF\n");
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
}
|
||||
if (bc->cf_last->inst == V_SQ_CF_WORD1_SQ_CF_INST_TEX) {
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -494,6 +494,21 @@ int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_shader *s
|
|||
noutput++;
|
||||
}
|
||||
}
|
||||
/* add fake pixel export */
|
||||
if (ctx.type == TGSI_PROCESSOR_FRAGMENT && !noutput) {
|
||||
memset(&output[0], 0, sizeof(struct r600_bc_output));
|
||||
output[0].gpr = 0;
|
||||
output[0].elem_size = 3;
|
||||
output[0].swizzle_x = 7;
|
||||
output[0].swizzle_y = 7;
|
||||
output[0].swizzle_z = 7;
|
||||
output[0].swizzle_w = 7;
|
||||
output[0].barrier = 1;
|
||||
output[0].type = V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PARAM;
|
||||
output[0].array_base = 0;
|
||||
output[0].inst = V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT;
|
||||
noutput++;
|
||||
}
|
||||
/* set export done on last export of each type */
|
||||
for (i = noutput - 1, output_done = 0; i >= 0; i--) {
|
||||
if (i == (noutput - 1)) {
|
||||
|
|
|
|||
|
|
@ -727,7 +727,7 @@ static struct radeon_state *r600_db(struct r600_context *rctx)
|
|||
struct r600_resource *rbuffer;
|
||||
struct radeon_state *rstate;
|
||||
const struct pipe_framebuffer_state *state = &rctx->framebuffer->state.framebuffer;
|
||||
unsigned level = state->cbufs[0]->level;
|
||||
unsigned level;
|
||||
unsigned pitch, slice, format;
|
||||
|
||||
if (state->zsbuf == NULL)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue