Changeset 105575 in vbox
- Timestamp:
- Aug 2, 2024 12:53:54 PM (9 months ago)
- svn:sync-xref-src-repo-rev:
- 164247
- Location:
- trunk/src/VBox
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDX.cpp
r103574 r105575 1195 1195 uint8 lineStippleFactor = 0; /** @todo */ 1196 1196 uint16 lineStipplePattern = 0; /** @todo */ 1197 /** @todo uint32 forcedSampleCount = p->ForcedSampleCount; SVGA3dCmdDXDefineRasterizerState_v2 */ 1198 1199 vgpu10DefineRasterizerState(pDevice, 1200 pRasterizerState->uRasterizerId, 1201 fillMode, 1202 cullMode, 1203 frontCounterClockwise, 1204 provokingVertexLast, 1205 depthBias, 1206 depthBiasClamp, 1207 slopeScaledDepthBias, 1208 depthClipEnable, 1209 scissorEnable, 1210 multisampleEnable, 1211 antialiasedLineEnable, 1212 lineWidth, 1213 lineStippleEnable, 1214 lineStippleFactor, 1215 lineStipplePattern); 1197 uint32 forcedSampleCount = p->ForcedSampleCount; 1198 1199 if (pDevice->pAdapter->fVBoxCaps & VBSVGA3D_CAP_RASTERIZER_STATE_V2) 1200 { 1201 vgpu10DefineRasterizerState_v2(pDevice, 1202 pRasterizerState->uRasterizerId, 1203 fillMode, 1204 cullMode, 1205 frontCounterClockwise, 1206 provokingVertexLast, 1207 depthBias, 1208 depthBiasClamp, 1209 slopeScaledDepthBias, 1210 depthClipEnable, 1211 scissorEnable, 1212 multisampleEnable, 1213 antialiasedLineEnable, 1214 lineWidth, 1215 lineStippleEnable, 1216 lineStippleFactor, 1217 lineStipplePattern, 1218 forcedSampleCount); 1219 } 1220 else 1221 { 1222 vgpu10DefineRasterizerState(pDevice, 1223 pRasterizerState->uRasterizerId, 1224 fillMode, 1225 cullMode, 1226 frontCounterClockwise, 1227 provokingVertexLast, 1228 depthBias, 1229 depthBiasClamp, 1230 slopeScaledDepthBias, 1231 depthClipEnable, 1232 scissorEnable, 1233 multisampleEnable, 1234 antialiasedLineEnable, 1235 lineWidth, 1236 lineStippleEnable, 1237 lineStippleFactor, 1238 lineStipplePattern); 1239 } 1216 1240 } 1217 1241 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXCmd.cpp
r105566 r105575 192 192 193 193 194 int vgpu10DefineRasterizerState_v2(PVBOXDX_DEVICE pDevice, 195 SVGA3dRasterizerStateId rasterizerId, 196 uint8 fillMode, 197 SVGA3dCullMode cullMode, 198 uint8 frontCounterClockwise, 199 uint8 provokingVertexLast, 200 int32 depthBias, 201 float depthBiasClamp, 202 float slopeScaledDepthBias, 203 uint8 depthClipEnable, 204 uint8 scissorEnable, 205 SVGA3dMultisampleRastEnable multisampleEnable, 206 uint8 antialiasedLineEnable, 207 float lineWidth, 208 uint8 lineStippleEnable, 209 uint8 lineStippleFactor, 210 uint16 lineStipplePattern, 211 uint32 forcedSampleCount) 212 { 213 void *pvCmd = vboxDXCommandBufferReserve(pDevice, SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2, 214 sizeof(SVGA3dCmdDXDefineRasterizerState_v2)); 215 if (!pvCmd) 216 return VERR_NO_MEMORY; 217 218 SVGA3dCmdDXDefineRasterizerState_v2 *cmd = (SVGA3dCmdDXDefineRasterizerState_v2 *)pvCmd; 219 SET_CMD_FIELD(rasterizerId); 220 SET_CMD_FIELD(fillMode); 221 SET_CMD_FIELD(cullMode); 222 SET_CMD_FIELD(frontCounterClockwise); 223 SET_CMD_FIELD(provokingVertexLast); 224 SET_CMD_FIELD(depthBias); 225 SET_CMD_FIELD(depthBiasClamp); 226 SET_CMD_FIELD(slopeScaledDepthBias); 227 SET_CMD_FIELD(depthClipEnable); 228 SET_CMD_FIELD(scissorEnable); 229 SET_CMD_FIELD(multisampleEnable); 230 SET_CMD_FIELD(antialiasedLineEnable); 231 SET_CMD_FIELD(lineWidth); 232 SET_CMD_FIELD(lineStippleEnable); 233 SET_CMD_FIELD(lineStippleFactor); 234 SET_CMD_FIELD(lineStipplePattern); 235 SET_CMD_FIELD(forcedSampleCount); 236 237 vboxDXCommandBufferCommit(pDevice); 238 return VINF_SUCCESS; 239 } 240 241 194 242 int vgpu10DestroyRasterizerState(PVBOXDX_DEVICE pDevice, 195 243 SVGA3dRasterizerStateId rasterizerId) -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXCmd.h
r102809 r105575 76 76 uint8 lineStippleFactor, 77 77 uint16 lineStipplePattern); 78 int vgpu10DefineRasterizerState_v2(PVBOXDX_DEVICE pDevice, 79 SVGA3dRasterizerStateId rasterizerId, 80 uint8 fillMode, 81 SVGA3dCullMode cullMode, 82 uint8 frontCounterClockwise, 83 uint8 provokingVertexLast, 84 int32 depthBias, 85 float depthBiasClamp, 86 float slopeScaledDepthBias, 87 uint8 depthClipEnable, 88 uint8 scissorEnable, 89 SVGA3dMultisampleRastEnable multisampleEnable, 90 uint8 antialiasedLineEnable, 91 float lineWidth, 92 uint8 lineStippleEnable, 93 uint8 lineStippleFactor, 94 uint16 lineStipplePattern, 95 uint32 forcedSampleCount); 78 96 int vgpu10DestroyRasterizerState(PVBOXDX_DEVICE pDevice, 79 97 SVGA3dRasterizerStateId rasterizerId); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/SvgaRender.cpp
r102407 r105575 1236 1236 { 1237 1237 SVGA3dCmdDXDefineRasterizerState *pCmd = (SVGA3dCmdDXDefineRasterizerState *)&pHeader[1]; 1238 DEBUG_VERIFYCMD_RETURN(); 1239 return SvgaCOTNotifyId(pSvga, pSvgaContext, SVGA_COTABLE_RASTERIZERSTATE, pCmd->rasterizerId); 1240 } 1241 1242 1243 /* SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 1288 */ 1244 static NTSTATUS procCmdDXDefineRasterizerState_v2(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader) 1245 { 1246 SVGA3dCmdDXDefineRasterizerState_v2 *pCmd = (SVGA3dCmdDXDefineRasterizerState_v2 *)&pHeader[1]; 1238 1247 DEBUG_VERIFYCMD_RETURN(); 1239 1248 return SvgaCOTNotifyId(pSvga, pSvgaContext, SVGA_COTABLE_RASTERIZERSTATE, pCmd->rasterizerId); … … 2198 2207 { procCmdSurfaceStretchBltNonMSToMS }, // SVGA_3D_CMD_SURFACE_STRETCHBLT_NON_MS_TO_MS 2199 2208 { procCmdDXBindShaderIface }, // SVGA_3D_CMD_DX_BIND_SHADER_IFACE 2209 { procCmdInvalid }, // SVGA_3D_CMD_UPDATE_GB_SCREENTARGET_MOVE = 1278, 2210 { procCmdInvalid }, // 1279, 2211 { procCmdInvalid }, // 1280, 2212 { procCmdInvalid }, // SVGA_3D_CMD_DX_PRED_STAGING_COPY = 1281, 2213 { procCmdInvalid }, // SVGA_3D_CMD_DX_STAGING_COPY = 1282, 2214 { procCmdInvalid }, // SVGA_3D_CMD_DX_PRED_STAGING_COPY_REGION = 1283, 2215 { procCmdInvalid }, // SVGA_3D_CMD_DX_SET_VERTEX_BUFFERS_V2 = 1284, 2216 { procCmdInvalid }, // SVGA_3D_CMD_DX_SET_INDEX_BUFFER_V2 = 1285, 2217 { procCmdInvalid }, // SVGA_3D_CMD_DX_SET_VERTEX_BUFFERS_OFFSET_AND_SIZE = 1286, 2218 { procCmdInvalid }, // SVGA_3D_CMD_DX_SET_INDEX_BUFFER_OFFSET_AND_SIZE = 1287, 2219 { procCmdDXDefineRasterizerState_v2 }, // SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 2220 { procCmdInvalid }, // SVGA_3D_CMD_DX_PRED_STAGING_CONVERT_REGION = 1289, 2221 { procCmdInvalid }, // SVGA_3D_CMD_DX_PRED_STAGING_CONVERT = 1290, 2222 { procCmdInvalid }, // SVGA_3D_CMD_DX_STAGING_BUFFER_COPY = 1291, 2223 { procCmdInvalid }, // 1292, 2224 { procCmdInvalid }, // 1293, 2225 { procCmdInvalid }, // 1294, 2226 { procCmdInvalid }, // 1295, 2227 { procCmdInvalid }, // 1296, 2228 { procCmdInvalid }, // 1297, 2229 { procCmdInvalid }, // 1298, 2230 { procCmdInvalid }, // 1299, 2231 { procCmdInvalid }, // 1300, 2232 { procCmdInvalid }, // 1301, 2233 { procCmdInvalid }, // 1302, 2200 2234 2201 2235 /* VirtualBox commands */ -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA-cmd.cpp
r105182 r105575 297 297 SVGA_CASE_ID2STR(SVGA_3D_CMD_SURFACE_STRETCHBLT_NON_MS_TO_MS); 298 298 SVGA_CASE_ID2STR(SVGA_3D_CMD_DX_BIND_SHADER_IFACE); 299 SVGA_CASE_ID2STR(SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2); 299 300 SVGA_CASE_ID2STR(SVGA_3D_CMD_MAX); 300 301 SVGA_CASE_ID2STR(SVGA_3D_CMD_FUTURE_MAX); … … 3122 3123 //DEBUG_BREAKPOINT_TEST(); 3123 3124 RT_NOREF(cbCmd); 3125 SVGA3dCmdDXDefineRasterizerState_v2 cmd; 3126 cmd.rasterizerId = pCmd->rasterizerId; 3127 cmd.fillMode = pCmd->fillMode; 3128 cmd.cullMode = pCmd->cullMode; 3129 cmd.frontCounterClockwise = pCmd->frontCounterClockwise; 3130 cmd.provokingVertexLast = pCmd->provokingVertexLast; 3131 cmd.depthBias = pCmd->depthBias; 3132 cmd.depthBiasClamp = pCmd->depthBiasClamp; 3133 cmd.slopeScaledDepthBias = pCmd->slopeScaledDepthBias; 3134 cmd.depthClipEnable = pCmd->depthClipEnable; 3135 cmd.scissorEnable = pCmd->scissorEnable; 3136 cmd.multisampleEnable = pCmd->multisampleEnable; 3137 cmd.antialiasedLineEnable = pCmd->antialiasedLineEnable; 3138 cmd.lineWidth = pCmd->lineWidth; 3139 cmd.lineStippleEnable = pCmd->lineStippleEnable; 3140 cmd.lineStippleFactor = pCmd->lineStippleFactor; 3141 cmd.lineStipplePattern = pCmd->lineStipplePattern; 3142 cmd.forcedSampleCount = 0; 3143 return vmsvga3dDXDefineRasterizerState(pThisCC, idDXContext, &cmd); 3144 #else 3145 RT_NOREF(pThisCC, idDXContext, pCmd, cbCmd); 3146 return VERR_NOT_SUPPORTED; 3147 #endif 3148 } 3149 3150 3151 /* SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 1288 */ 3152 static int vmsvga3dCmdDXDefineRasterizerState_v2(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineRasterizerState_v2 const *pCmd, uint32_t cbCmd) 3153 { 3154 #ifdef VMSVGA3D_DX 3155 //DEBUG_BREAKPOINT_TEST(); 3156 RT_NOREF(cbCmd); 3124 3157 return vmsvga3dDXDefineRasterizerState(pThisCC, idDXContext, pCmd); 3125 3158 #else … … 6840 6873 VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd)); 6841 6874 rcParse = vmsvga3dCmdVBDXClearRenderTargetViewRegion(pThisCC, idDXContext, pCmd, cbCmd); 6875 break; 6876 } 6877 6878 case SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2: 6879 { 6880 SVGA3dCmdDXDefineRasterizerState_v2 *pCmd = (SVGA3dCmdDXDefineRasterizerState_v2 *)pvCmd; 6881 VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd)); 6882 rcParse = vmsvga3dCmdDXDefineRasterizerState_v2(pThisCC, idDXContext, pCmd, cbCmd); 6842 6883 break; 6843 6884 } -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
r105264 r105575 4057 4057 if (pState->pBackend->dxDevice.pVideoDevice) 4058 4058 *pu32Val |= VBSVGA3D_CAP_VIDEO; 4059 *pu32Val |= VBSVGA3D_CAP_RASTERIZER_STATE_V2; 4059 4060 break; 4060 4061 -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx.cpp
r102808 r105575 1746 1746 1747 1747 1748 int vmsvga3dDXDefineRasterizerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineRasterizerState const *pCmd)1748 int vmsvga3dDXDefineRasterizerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineRasterizerState_v2 const *pCmd) 1749 1749 { 1750 1750 int rc; … … 1780 1780 pEntry->lineStippleFactor = pCmd->lineStippleFactor; 1781 1781 pEntry->lineStipplePattern = pCmd->lineStipplePattern; 1782 pEntry->forcedSampleCount = 0; /** @todo Not in pCmd. */1782 pEntry->forcedSampleCount = pCmd->forcedSampleCount; 1783 1783 RT_ZERO(pEntry->mustBeZero); 1784 1784 -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h
r102808 r105575 683 683 int vmsvga3dDXDefineDepthStencilState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineDepthStencilState const *pCmd); 684 684 int vmsvga3dDXDestroyDepthStencilState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDestroyDepthStencilState const *pCmd); 685 int vmsvga3dDXDefineRasterizerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineRasterizerState const *pCmd);685 int vmsvga3dDXDefineRasterizerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineRasterizerState_v2 const *pCmd); 686 686 int vmsvga3dDXDestroyRasterizerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDestroyRasterizerState const *pCmd); 687 687 int vmsvga3dDXDefineSamplerState(PVGASTATECC pThisCC, uint32_t idDXContext, SVGA3dCmdDXDefineSamplerState const *pCmd); -
trunk/src/VBox/Devices/Graphics/vmsvga_include/svga3d_cmd.h
r102406 r105575 335 335 SVGA_3D_CMD_DX_BIND_SHADER_IFACE = 1277, 336 336 337 SVGA_3D_CMD_MAX = 1278, 337 SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 = 1288, 338 339 SVGA_3D_CMD_MAX = 1303, 338 340 SVGA_3D_CMD_FUTURE_MAX = 3000 339 341 -
trunk/src/VBox/Devices/Graphics/vmsvga_include/svga3d_dx.h
r96407 r105575 1579 1579 /* SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE */ 1580 1580 1581 typedef struct SVGA3dCmdDXDefineRasterizerState_v2 { 1582 SVGA3dRasterizerStateId rasterizerId; 1583 1584 uint8 fillMode; 1585 SVGA3dCullMode cullMode; 1586 uint8 frontCounterClockwise; 1587 uint8 provokingVertexLast; 1588 int32 depthBias; 1589 float depthBiasClamp; 1590 float slopeScaledDepthBias; 1591 uint8 depthClipEnable; 1592 uint8 scissorEnable; 1593 SVGA3dMultisampleRastEnable multisampleEnable; 1594 uint8 antialiasedLineEnable; 1595 float lineWidth; 1596 uint8 lineStippleEnable; 1597 uint8 lineStippleFactor; 1598 uint16 lineStipplePattern; 1599 uint32 forcedSampleCount; 1600 } SVGA3dCmdDXDefineRasterizerState_v2; 1601 1581 1602 typedef 1582 1603 #include "vmware_pack_begin.h" -
trunk/src/VBox/Devices/Graphics/vmsvga_include/vbsvga3d_dx.h
r102504 r105575 34 34 /* Video decoding/processing and ClearView commands. */ 35 35 #define VBSVGA3D_CAP_VIDEO 0x00000002 36 /* The host supports SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 command. */ 37 #define VBSVGA3D_CAP_RASTERIZER_STATE_V2 0x00000004 36 38 37 39 /* Arbitrary limits. Allows to use constant size structures.
Note:
See TracChangeset
for help on using the changeset viewer.