VirtualBox

Ignore:
Timestamp:
Sep 30, 2021 7:18:32 AM (3 years ago)
Author:
vboxsync
Message:

Devices/Graphics: parser; DrawIndexed for TRIANGLE_FAN; etc: bugref:9830

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-shader.cpp

    r91441 r91484  
    16391639                        pSignatureEntry->semanticName  = SVGADX_SIGNATURE_SEMANTIC_NAME_PRIMITIVE_ID;
    16401640                    }
     1641                    else if (opcode.aValOperand[0].operandType == VGPU10_OPERAND_TYPE_OUTPUT_DEPTH)
     1642                    {
     1643                        /* oDepth is always last in the signature. Register index is equal to 0xFFFFFFFF. */
     1644                        pSignatureEntry->registerIndex = 0xFFFFFFFF;
     1645                        pSignatureEntry->semanticName  = SVGADX_SIGNATURE_SEMANTIC_NAME_UNDEFINED;
     1646                    }
    16411647                    else
    16421648                        ASSERT_GUEST_FAILED_RETURN(VERR_NOT_SUPPORTED);
     
    17911797    {
    17921798        SVGA3dDXSignatureEntry const *src = &paSignature[i];
     1799        if (src->registerIndex == 0xFFFFFFFF)
     1800        {
     1801            /* oDepth for PS output. */
     1802            ASSERT_GUEST_RETURN(pInfo->enmProgramType == VGPU10_PIXEL_SHADER, VERR_INVALID_PARAMETER);
     1803
     1804            /* Must be placed last in the signature. */
     1805            ASSERT_GUEST_RETURN(aIdxSignature[cSignature - 1] == 0xFFFFFFFF, VERR_INVALID_PARAMETER);
     1806            aIdxSignature[cSignature - 1] = i;
     1807            continue;
     1808        }
     1809
    17931810        ASSERT_GUEST_RETURN(src->registerIndex < RT_ELEMENTS(aIdxSignature), VERR_INVALID_PARAMETER);
    17941811        ASSERT_GUEST_RETURN(aIdxSignature[src->registerIndex] == 0xFFFFFFFF, VERR_INVALID_PARAMETER);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette