-#6207
-KHR-GL46.texture_cube_map_array.image_op_fragment_sh,Fail
-KHR-GL46.texture_cube_map_array.sampling,Fail
-KHR-GL46.texture_cube_map_array.texture_size_fragment_sh,Fail
-
-
#6185
KHR-GL46.tessellation_shader.single.isolines_tessellation,Crash
KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize,Fail
st_update_edgeflags(st, _mesa_draw_edge_flag_array_enabled(st->ctx));
}
+static void check_pointsize(struct st_context *st)
+{
+ if (st->ctx->VertexProgram.PointSizeEnabled)
+ return;
+ if (st->ctx->GeometryProgram._Current)
+ st->dirty |= ST_NEW_GS_CONSTANTS;
+ else if (st->ctx->TessEvalProgram._Current)
+ st->dirty |= ST_NEW_TES_CONSTANTS;
+ else
+ st->dirty |= ST_NEW_VS_CONSTANTS;
+}
+
/***********************************************************************
* Update all derived state:
check_program_state(st);
st->gfx_shaders_may_be_dirty = false;
}
+ if (st->lower_point_size &&
+ (st->ctx->API == API_OPENGL_COMPAT || st->ctx->API == API_OPENGL_CORE))
+ check_pointsize(st);
st_manager_validate_framebuffers(st);
break;
case ST_PIPELINE_CLEAR:
+ if (st->lower_point_size &&
+ (st->ctx->API == API_OPENGL_COMPAT || st->ctx->API == API_OPENGL_CORE))
+ check_pointsize(st);
st_manager_validate_framebuffers(st);
pipeline_mask = ST_PIPELINE_CLEAR_STATE_MASK;
break;
check_program_state(st);
st->gfx_shaders_may_be_dirty = false;
}
+ if (st->lower_point_size &&
+ (st->ctx->API == API_OPENGL_COMPAT || st->ctx->API == API_OPENGL_CORE))
+ check_pointsize(st);
st_manager_validate_framebuffers(st);
pipeline_mask = ST_PIPELINE_META_STATE_MASK;
break;
case ST_PIPELINE_UPDATE_FRAMEBUFFER:
+ if (st->lower_point_size &&
+ (st->ctx->API == API_OPENGL_COMPAT || st->ctx->API == API_OPENGL_CORE))
+ check_pointsize(st);
st_manager_validate_framebuffers(st);
pipeline_mask = ST_PIPELINE_UPDATE_FB_STATE_MASK;
break;
NIR_PASS_V(state.ir.nir, nir_lower_point_size_mov,
point_size_state);
- switch (prog->info.stage) {
- case MESA_SHADER_VERTEX:
- prog->affected_states |= ST_NEW_VS_CONSTANTS;
- break;
- case MESA_SHADER_TESS_EVAL:
- prog->affected_states |= ST_NEW_TES_CONSTANTS;
- break;
- case MESA_SHADER_GEOMETRY:
- prog->affected_states |= ST_NEW_GS_CONSTANTS;
- break;
- default:
- unreachable("bad shader stage");
- }
-
finalize = true;
}