mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-08 20:28:32 +09:00
[Fix] (Pipe): drop the emitter arm for set_pixel_pack_state that spans retired
- spans (d1a7c5f1) removed GetPixelStoreParameters from the emitted list because the call
carries the pack half of a two-element field, so the generated MGPipeFieldEmitter no longer
has a SetPixelPackState enumerator; the tracker's subsystem map and its static_assert, written
against the contract, still named it and the push and verify builds did not compile on the
integrated tree
- the NEW_PIXEL_PACK dirty bit still names the pixel-pack subsystem, which is what the
emission gate consults; the field itself stays in the residual fill loop by design
This commit is contained in:
@@ -627,8 +627,6 @@ namespace MobileGL::MG_Pipe {
|
||||
case MGPipeFieldEmitter::CreateRenderState:
|
||||
case MGPipeFieldEmitter::SetDynamicState:
|
||||
return kMGPipeSubsystemRenderState;
|
||||
case MGPipeFieldEmitter::SetPixelPackState:
|
||||
return kMGPipeSubsystemPixelPack;
|
||||
case MGPipeFieldEmitter::SetPatchState:
|
||||
return kMGPipeSubsystemPatchState;
|
||||
case MGPipeFieldEmitter::SetVertexAttribDefaults:
|
||||
@@ -650,9 +648,13 @@ namespace MobileGL::MG_Pipe {
|
||||
static_assert(SubsystemForEmitter(MGPipeFieldEmitter::SetDynamicState) ==
|
||||
MGPipeSubsystemForDirty(MGPipeDirty::NewRenderState),
|
||||
"set_dynamic_state and NEW_RENDER_STATE must name one subsystem");
|
||||
static_assert(SubsystemForEmitter(MGPipeFieldEmitter::SetPixelPackState) ==
|
||||
MGPipeSubsystemForDirty(MGPipeDirty::NewPixelPack),
|
||||
"set_pixel_pack_state and NEW_PIXEL_PACK must name one subsystem");
|
||||
// set_pixel_pack_state has no emitter row on purpose (Coverage.def, above
|
||||
// MGP_COVERAGE_EMITTED_LIST): it carries the PACK half of PipeInputs::m_pixelStore[2]
|
||||
// only, so the field keeps going through the residual fill loop and no field may be
|
||||
// skipped on its account. The NEW_PIXEL_PACK bit still names the subsystem the call
|
||||
// belongs to, which is what the emission gate consults.
|
||||
static_assert(MGPipeSubsystemForDirty(MGPipeDirty::NewPixelPack) == kMGPipeSubsystemPixelPack,
|
||||
"NEW_PIXEL_PACK must name the pixel-pack subsystem");
|
||||
static_assert(SubsystemForEmitter(MGPipeFieldEmitter::SetPatchState) ==
|
||||
MGPipeSubsystemForDirty(MGPipeDirty::NewPatchState),
|
||||
"set_patch_state and NEW_PATCH_STATE must name one subsystem");
|
||||
|
||||
Reference in New Issue
Block a user