mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
gallivm: Handle MSAA textures in emit_fetch_texels
This support is preliminary due to the fact that MSAA is not actually implemented. However, this patch does fix the piglit test: spec/!OpenGL 3.2/glsl-resource-not-bound 2DMS (bug #79740). (v2 RS: don't emit 4th coord as explicit lod) Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
parent
394ea139c7
commit
5492296318
1 changed files with 7 additions and 2 deletions
|
|
@ -2367,9 +2367,11 @@ emit_fetch_texels( struct lp_build_tgsi_soa_context *bld,
|
|||
break;
|
||||
case TGSI_TEXTURE_2D:
|
||||
case TGSI_TEXTURE_RECT:
|
||||
case TGSI_TEXTURE_2D_MSAA:
|
||||
dims = 2;
|
||||
break;
|
||||
case TGSI_TEXTURE_2D_ARRAY:
|
||||
case TGSI_TEXTURE_2D_ARRAY_MSAA:
|
||||
layer_coord = 2;
|
||||
dims = 2;
|
||||
break;
|
||||
|
|
@ -2381,11 +2383,14 @@ emit_fetch_texels( struct lp_build_tgsi_soa_context *bld,
|
|||
return;
|
||||
}
|
||||
|
||||
/* always have lod except for buffers ? */
|
||||
if (target != TGSI_TEXTURE_BUFFER) {
|
||||
/* always have lod except for buffers and msaa targets ? */
|
||||
if (target != TGSI_TEXTURE_BUFFER &&
|
||||
target != TGSI_TEXTURE_2D_MSAA &&
|
||||
target != TGSI_TEXTURE_2D_ARRAY_MSAA) {
|
||||
explicit_lod = lp_build_emit_fetch(&bld->bld_base, inst, 0, 3);
|
||||
lod_property = lp_build_lod_property(&bld->bld_base, inst, 0);
|
||||
}
|
||||
/* XXX: for real msaa support, the w component would be the sample index. */
|
||||
|
||||
for (i = 0; i < dims; i++) {
|
||||
coords[i] = lp_build_emit_fetch(&bld->bld_base, inst, 0, i);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue