port: GrpImageInstance/GrpExpandedImageInstance verbatim; fix SCREEN blend factor
Both units are the 40250 bodies; only the PDT-stream draw becomes UIRenderAddImage (with the rendering mode). SCREEN/COLOR_DODGE were packed as 0x28 (INVDESTALPHA+ONE); 40250 uses INVDESTCOLOR+ONE (0x2A). OnIsType calls the base OnIsType instead of 40250's recursing IsType. port.grp_resource covers the quads, UVs, colour and blend mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
010e99f070
commit
65777331f7
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"reference": "EterLib/GrpExpandedImageInstance.cpp",
|
||||
"reference_sha256": "1e3eb000f12b2ab0658da06ff55843874a2fa70619d249d9246c545746396a78",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CGraphicExpandedImageInstance::CreateSystem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::CreateSystem"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::DestroySystem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::DestroySystem"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::New": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::New"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::Delete": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::Delete"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::OnRender": {
|
||||
"status": "ADAPTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::OnRender"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
],
|
||||
"note": "40250: CULLMODE CCW for a mirrored scale, Save/RestoreRenderState SRCBLEND/DESTBLEND per RENDERING_MODE, PDT-stream fill-rect draw. Port: the verbatim vertices plus m_iRenderingMode go to UIRenderAddImage; the Vulkan UI pipeline (cull none) maps SCREEN/COLOR_DODGE to INVDESTCOLOR+ONE and MODULATE to ZERO+SRCCOLOR (ui_batches.cpp). Invariant: same corners, UVs and blend factors."
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetDepth": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetDepth"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetOrigin": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetOrigin"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetRotation"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetScale": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetScale"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetRenderingRect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetRenderingRect"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::SetRenderingMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::SetRenderingMode"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::Type": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::Type"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::OnSetImagePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::OnSetImagePointer"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::OnIsType": {
|
||||
"status": "ADAPTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::OnIsType"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
],
|
||||
"note": "40250: falls back to CGraphicImageInstance::IsType, which re-dispatches to this override and recurses until stack overflow for a foreign type. Port: calls the base OnIsType. Invariant: TRUE for its own and CGraphicImageInstance type, FALSE otherwise."
|
||||
},
|
||||
"CGraphicExpandedImageInstance::Initialize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::Initialize"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::Destroy"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::CGraphicExpandedImageInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::CGraphicExpandedImageInstance"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
},
|
||||
"CGraphicExpandedImageInstance::~CGraphicExpandedImageInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterLib/GrpExpandedImageInstance.cpp:CGraphicExpandedImageInstance::~CGraphicExpandedImageInstance"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_grp_resource_test.cpp"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user