1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 #ifndef _SVGA3D_DX_H_
34 #define _SVGA3D_DX_H_
35
36 #define INCLUDE_ALLOW_MODULE
37 #define INCLUDE_ALLOW_USERLEVEL
38 #define INCLUDE_ALLOW_VMCORE
39 #include "includeCheck.h"
40
41 #include "svga3d_limits.h"
42
43 #define SVGA3D_INPUT_MIN 0
44 #define SVGA3D_INPUT_PER_VERTEX_DATA 0
45 #define SVGA3D_INPUT_PER_INSTANCE_DATA 1
46 #define SVGA3D_INPUT_MAX 2
47 typedef uint32 SVGA3dInputClassification;
48
49 #define SVGA3D_RESOURCE_TYPE_MIN 1
50 #define SVGA3D_RESOURCE_BUFFER 1
51 #define SVGA3D_RESOURCE_TEXTURE1D 2
52 #define SVGA3D_RESOURCE_TEXTURE2D 3
53 #define SVGA3D_RESOURCE_TEXTURE3D 4
54 #define SVGA3D_RESOURCE_TEXTURECUBE 5
55 #define SVGA3D_RESOURCE_TYPE_DX10_MAX 6
56 #define SVGA3D_RESOURCE_BUFFEREX 6
57 #define SVGA3D_RESOURCE_TYPE_MAX 7
58 typedef uint32 SVGA3dResourceType;
59
60 #define SVGA3D_COLOR_WRITE_ENABLE_RED (1 << 0)
61 #define SVGA3D_COLOR_WRITE_ENABLE_GREEN (1 << 1)
62 #define SVGA3D_COLOR_WRITE_ENABLE_BLUE (1 << 2)
63 #define SVGA3D_COLOR_WRITE_ENABLE_ALPHA (1 << 3)
64 #define SVGA3D_COLOR_WRITE_ENABLE_ALL (SVGA3D_COLOR_WRITE_ENABLE_RED | \
65 SVGA3D_COLOR_WRITE_ENABLE_GREEN | \
66 SVGA3D_COLOR_WRITE_ENABLE_BLUE | \
67 SVGA3D_COLOR_WRITE_ENABLE_ALPHA)
68 typedef uint8 SVGA3dColorWriteEnable;
69
70 #define SVGA3D_DEPTH_WRITE_MASK_ZERO 0
71 #define SVGA3D_DEPTH_WRITE_MASK_ALL 1
72 typedef uint8 SVGA3dDepthWriteMask;
73
74 #define SVGA3D_FILTER_MIP_LINEAR (1 << 0)
75 #define SVGA3D_FILTER_MAG_LINEAR (1 << 2)
76 #define SVGA3D_FILTER_MIN_LINEAR (1 << 4)
77 #define SVGA3D_FILTER_ANISOTROPIC (1 << 6)
78 #define SVGA3D_FILTER_COMPARE (1 << 7)
79 typedef uint32 SVGA3dFilter;
80
81 #define SVGA3D_CULL_INVALID 0
82 #define SVGA3D_CULL_MIN 1
83 #define SVGA3D_CULL_NONE 1
84 #define SVGA3D_CULL_FRONT 2
85 #define SVGA3D_CULL_BACK 3
86 #define SVGA3D_CULL_MAX 4
87 typedef uint8 SVGA3dCullMode;
88
89 #define SVGA3D_COMPARISON_INVALID 0
90 #define SVGA3D_COMPARISON_MIN 1
91 #define SVGA3D_COMPARISON_NEVER 1
92 #define SVGA3D_COMPARISON_LESS 2
93 #define SVGA3D_COMPARISON_EQUAL 3
94 #define SVGA3D_COMPARISON_LESS_EQUAL 4
95 #define SVGA3D_COMPARISON_GREATER 5
96 #define SVGA3D_COMPARISON_NOT_EQUAL 6
97 #define SVGA3D_COMPARISON_GREATER_EQUAL 7
98 #define SVGA3D_COMPARISON_ALWAYS 8
99 #define SVGA3D_COMPARISON_MAX 9
100 typedef uint8 SVGA3dComparisonFunc;
101
102
103
104
105
106
107 #define SVGA3D_MULTISAMPLE_RAST_DISABLE 0
108 #define SVGA3D_MULTISAMPLE_RAST_ENABLE 1
109 #define SVGA3D_MULTISAMPLE_RAST_DX_MAX 1
110 #define SVGA3D_MULTISAMPLE_RAST_DISABLE_LINE 2
111 #define SVGA3D_MULTISAMPLE_RAST_MAX 2
112 typedef uint8 SVGA3dMultisampleRastEnable;
113
114 #define SVGA3D_DX_MAX_VERTEXBUFFERS 32
115 #define SVGA3D_DX_MAX_VERTEXINPUTREGISTERS 16
116 #define SVGA3D_DX_SM41_MAX_VERTEXINPUTREGISTERS 32
117 #define SVGA3D_DX_MAX_SOTARGETS 4
118 #define SVGA3D_DX_MAX_SRVIEWS 128
119 #define SVGA3D_DX_MAX_CONSTBUFFERS 16
120 #define SVGA3D_DX_MAX_SAMPLERS 16
121
122 #define SVGA3D_DX_MAX_CONSTBUF_BINDING_SIZE (4096 * 4 * (uint32)sizeof(uint32))
123
124 typedef uint32 SVGA3dShaderResourceViewId;
125 typedef uint32 SVGA3dRenderTargetViewId;
126 typedef uint32 SVGA3dDepthStencilViewId;
127
128 typedef uint32 SVGA3dShaderId;
129 typedef uint32 SVGA3dElementLayoutId;
130 typedef uint32 SVGA3dSamplerId;
131 typedef uint32 SVGA3dBlendStateId;
132 typedef uint32 SVGA3dDepthStencilStateId;
133 typedef uint32 SVGA3dRasterizerStateId;
134 typedef uint32 SVGA3dQueryId;
135 typedef uint32 SVGA3dStreamOutputId;
136
137 typedef union {
138 struct {
139 float r;
140 float g;
141 float b;
142 float a;
143 };
144
145 float value[4];
146 } SVGA3dRGBAFloat;
147
148 typedef
149 #include "vmware_pack_begin.h"
150 struct {
151 uint32 cid;
152 SVGAMobId mobid;
153 }
154 #include "vmware_pack_end.h"
155 SVGAOTableDXContextEntry;
156
157 typedef
158 #include "vmware_pack_begin.h"
159 struct SVGA3dCmdDXDefineContext {
160 uint32 cid;
161 }
162 #include "vmware_pack_end.h"
163 SVGA3dCmdDXDefineContext;
164
165 typedef
166 #include "vmware_pack_begin.h"
167 struct SVGA3dCmdDXDestroyContext {
168 uint32 cid;
169 }
170 #include "vmware_pack_end.h"
171 SVGA3dCmdDXDestroyContext;
172
173
174
175
176
177
178
179
180
181
182
183
184 typedef
185 #include "vmware_pack_begin.h"
186 struct SVGA3dCmdDXBindContext {
187 uint32 cid;
188 SVGAMobId mobid;
189 uint32 validContents;
190 }
191 #include "vmware_pack_end.h"
192 SVGA3dCmdDXBindContext;
193
194
195
196
197
198 typedef
199 #include "vmware_pack_begin.h"
200 struct SVGA3dCmdDXReadbackContext {
201 uint32 cid;
202 }
203 #include "vmware_pack_end.h"
204 SVGA3dCmdDXReadbackContext;
205
206
207
208
209 typedef
210 #include "vmware_pack_begin.h"
211 struct SVGA3dCmdDXInvalidateContext {
212 uint32 cid;
213 }
214 #include "vmware_pack_end.h"
215 SVGA3dCmdDXInvalidateContext;
216
217 typedef
218 #include "vmware_pack_begin.h"
219 struct SVGA3dCmdDXSetSingleConstantBuffer {
220 uint32 slot;
221 SVGA3dShaderType type;
222 SVGA3dSurfaceId sid;
223 uint32 offsetInBytes;
224 uint32 sizeInBytes;
225 }
226 #include "vmware_pack_end.h"
227 SVGA3dCmdDXSetSingleConstantBuffer;
228
229
230 typedef
231 #include "vmware_pack_begin.h"
232 struct SVGA3dCmdDXSetShaderResources {
233 uint32 startView;
234 SVGA3dShaderType type;
235
236
237
238
239 }
240 #include "vmware_pack_end.h"
241 SVGA3dCmdDXSetShaderResources;
242
243 typedef
244 #include "vmware_pack_begin.h"
245 struct SVGA3dCmdDXSetShader {
246 SVGA3dShaderId shaderId;
247 SVGA3dShaderType type;
248 }
249 #include "vmware_pack_end.h"
250 SVGA3dCmdDXSetShader;
251
252 typedef
253 #include "vmware_pack_begin.h"
254 struct SVGA3dCmdDXSetSamplers {
255 uint32 startSampler;
256 SVGA3dShaderType type;
257
258
259
260
261 }
262 #include "vmware_pack_end.h"
263 SVGA3dCmdDXSetSamplers;
264
265 typedef
266 #include "vmware_pack_begin.h"
267 struct SVGA3dCmdDXDraw {
268 uint32 vertexCount;
269 uint32 startVertexLocation;
270 }
271 #include "vmware_pack_end.h"
272 SVGA3dCmdDXDraw;
273
274 typedef
275 #include "vmware_pack_begin.h"
276 struct SVGA3dCmdDXDrawIndexed {
277 uint32 indexCount;
278 uint32 startIndexLocation;
279 int32 baseVertexLocation;
280 }
281 #include "vmware_pack_end.h"
282 SVGA3dCmdDXDrawIndexed;
283
284 typedef
285 #include "vmware_pack_begin.h"
286 struct SVGA3dCmdDXDrawInstanced {
287 uint32 vertexCountPerInstance;
288 uint32 instanceCount;
289 uint32 startVertexLocation;
290 uint32 startInstanceLocation;
291 }
292 #include "vmware_pack_end.h"
293 SVGA3dCmdDXDrawInstanced;
294
295 typedef
296 #include "vmware_pack_begin.h"
297 struct SVGA3dCmdDXDrawIndexedInstanced {
298 uint32 indexCountPerInstance;
299 uint32 instanceCount;
300 uint32 startIndexLocation;
301 int32 baseVertexLocation;
302 uint32 startInstanceLocation;
303 }
304 #include "vmware_pack_end.h"
305 SVGA3dCmdDXDrawIndexedInstanced;
306
307 typedef
308 #include "vmware_pack_begin.h"
309 struct SVGA3dCmdDXDrawAuto {
310 uint32 pad0;
311 }
312 #include "vmware_pack_end.h"
313 SVGA3dCmdDXDrawAuto;
314
315 typedef
316 #include "vmware_pack_begin.h"
317 struct SVGA3dCmdDXSetInputLayout {
318 SVGA3dElementLayoutId elementLayoutId;
319 }
320 #include "vmware_pack_end.h"
321 SVGA3dCmdDXSetInputLayout;
322
323 typedef
324 #include "vmware_pack_begin.h"
325 struct SVGA3dVertexBuffer {
326 SVGA3dSurfaceId sid;
327 uint32 stride;
328 uint32 offset;
329 }
330 #include "vmware_pack_end.h"
331 SVGA3dVertexBuffer;
332
333 typedef
334 #include "vmware_pack_begin.h"
335 struct SVGA3dCmdDXSetVertexBuffers {
336 uint32 startBuffer;
337
338 }
339 #include "vmware_pack_end.h"
340 SVGA3dCmdDXSetVertexBuffers;
341
342 typedef
343 #include "vmware_pack_begin.h"
344 struct SVGA3dCmdDXSetIndexBuffer {
345 SVGA3dSurfaceId sid;
346 SVGA3dSurfaceFormat format;
347 uint32 offset;
348 }
349 #include "vmware_pack_end.h"
350 SVGA3dCmdDXSetIndexBuffer;
351
352 typedef
353 #include "vmware_pack_begin.h"
354 struct SVGA3dCmdDXSetTopology {
355 SVGA3dPrimitiveType topology;
356 }
357 #include "vmware_pack_end.h"
358 SVGA3dCmdDXSetTopology;
359
360 typedef
361 #include "vmware_pack_begin.h"
362 struct SVGA3dCmdDXSetRenderTargets {
363 SVGA3dDepthStencilViewId depthStencilViewId;
364
365 }
366 #include "vmware_pack_end.h"
367 SVGA3dCmdDXSetRenderTargets;
368
369 typedef
370 #include "vmware_pack_begin.h"
371 struct SVGA3dCmdDXSetBlendState {
372 SVGA3dBlendStateId blendId;
373 float blendFactor[4];
374 uint32 sampleMask;
375 }
376 #include "vmware_pack_end.h"
377 SVGA3dCmdDXSetBlendState;
378
379 typedef
380 #include "vmware_pack_begin.h"
381 struct SVGA3dCmdDXSetDepthStencilState {
382 SVGA3dDepthStencilStateId depthStencilId;
383 uint32 stencilRef;
384 }
385 #include "vmware_pack_end.h"
386 SVGA3dCmdDXSetDepthStencilState;
387
388 typedef
389 #include "vmware_pack_begin.h"
390 struct SVGA3dCmdDXSetRasterizerState {
391 SVGA3dRasterizerStateId rasterizerId;
392 }
393 #include "vmware_pack_end.h"
394 SVGA3dCmdDXSetRasterizerState;
395
396 #define SVGA3D_DXQUERY_FLAG_PREDICATEHINT (1 << 0)
397 typedef uint32 SVGA3dDXQueryFlags;
398
399
400
401
402
403
404 #define SVGADX_QDSTATE_INVALID ((uint8)-1)
405 #define SVGADX_QDSTATE_MIN 0
406 #define SVGADX_QDSTATE_IDLE 0
407 #define SVGADX_QDSTATE_ACTIVE 1
408 #define SVGADX_QDSTATE_PENDING 2
409 #define SVGADX_QDSTATE_FINISHED 3
410 #define SVGADX_QDSTATE_MAX 4
411 typedef uint8 SVGADXQueryDeviceState;
412
413 typedef
414 #include "vmware_pack_begin.h"
415 struct {
416 SVGA3dQueryTypeUint8 type;
417 uint16 pad0;
418 SVGADXQueryDeviceState state;
419 SVGA3dDXQueryFlags flags;
420 SVGAMobId mobid;
421 uint32 offset;
422 }
423 #include "vmware_pack_end.h"
424 SVGACOTableDXQueryEntry;
425
426 typedef
427 #include "vmware_pack_begin.h"
428 struct SVGA3dCmdDXDefineQuery {
429 SVGA3dQueryId queryId;
430 SVGA3dQueryType type;
431 SVGA3dDXQueryFlags flags;
432 }
433 #include "vmware_pack_end.h"
434 SVGA3dCmdDXDefineQuery;
435
436 typedef
437 #include "vmware_pack_begin.h"
438 struct SVGA3dCmdDXDestroyQuery {
439 SVGA3dQueryId queryId;
440 }
441 #include "vmware_pack_end.h"
442 SVGA3dCmdDXDestroyQuery;
443
444 typedef
445 #include "vmware_pack_begin.h"
446 struct SVGA3dCmdDXBindQuery {
447 SVGA3dQueryId queryId;
448 SVGAMobId mobid;
449 }
450 #include "vmware_pack_end.h"
451 SVGA3dCmdDXBindQuery;
452
453 typedef
454 #include "vmware_pack_begin.h"
455 struct SVGA3dCmdDXSetQueryOffset {
456 SVGA3dQueryId queryId;
457 uint32 mobOffset;
458 }
459 #include "vmware_pack_end.h"
460 SVGA3dCmdDXSetQueryOffset;
461
462 typedef
463 #include "vmware_pack_begin.h"
464 struct SVGA3dCmdDXBeginQuery {
465 SVGA3dQueryId queryId;
466 }
467 #include "vmware_pack_end.h"
468 SVGA3dCmdDXBeginQuery;
469
470 typedef
471 #include "vmware_pack_begin.h"
472 struct SVGA3dCmdDXEndQuery {
473 SVGA3dQueryId queryId;
474 }
475 #include "vmware_pack_end.h"
476 SVGA3dCmdDXEndQuery;
477
478 typedef
479 #include "vmware_pack_begin.h"
480 struct SVGA3dCmdDXReadbackQuery {
481 SVGA3dQueryId queryId;
482 }
483 #include "vmware_pack_end.h"
484 SVGA3dCmdDXReadbackQuery;
485
486 typedef
487 #include "vmware_pack_begin.h"
488 struct SVGA3dCmdDXMoveQuery {
489 SVGA3dQueryId queryId;
490 SVGAMobId mobid;
491 uint32 mobOffset;
492 }
493 #include "vmware_pack_end.h"
494 SVGA3dCmdDXMoveQuery;
495
496 typedef
497 #include "vmware_pack_begin.h"
498 struct SVGA3dCmdDXBindAllQuery {
499 uint32 cid;
500 SVGAMobId mobid;
501 }
502 #include "vmware_pack_end.h"
503 SVGA3dCmdDXBindAllQuery;
504
505 typedef
506 #include "vmware_pack_begin.h"
507 struct SVGA3dCmdDXReadbackAllQuery {
508 uint32 cid;
509 }
510 #include "vmware_pack_end.h"
511 SVGA3dCmdDXReadbackAllQuery;
512
513 typedef
514 #include "vmware_pack_begin.h"
515 struct SVGA3dCmdDXSetPredication {
516 SVGA3dQueryId queryId;
517 uint32 predicateValue;
518 }
519 #include "vmware_pack_end.h"
520 SVGA3dCmdDXSetPredication;
521
522 typedef
523 #include "vmware_pack_begin.h"
524 struct MKS3dDXSOState {
525 uint32 offset;
526 uint32 intOffset;
527 uint32 vertexCount;
528 uint32 sizeInBytes;
529 }
530 #include "vmware_pack_end.h"
531 SVGA3dDXSOState;
532
533
534 #define SVGA3D_DX_SO_OFFSET_APPEND ((uint32) ~0u)
535
536 typedef
537 #include "vmware_pack_begin.h"
538 struct SVGA3dSoTarget {
539 SVGA3dSurfaceId sid;
540 uint32 offset;
541 uint32 sizeInBytes;
542 }
543 #include "vmware_pack_end.h"
544 SVGA3dSoTarget;
545
546 typedef
547 #include "vmware_pack_begin.h"
548 struct SVGA3dCmdDXSetSOTargets {
549 uint32 pad0;
550
551 }
552 #include "vmware_pack_end.h"
553 SVGA3dCmdDXSetSOTargets;
554
555 typedef
556 #include "vmware_pack_begin.h"
557 struct SVGA3dViewport
558 {
559 float x;
560 float y;
561 float width;
562 float height;
563 float minDepth;
564 float maxDepth;
565 }
566 #include "vmware_pack_end.h"
567 SVGA3dViewport;
568
569 typedef
570 #include "vmware_pack_begin.h"
571 struct SVGA3dCmdDXSetViewports {
572 uint32 pad0;
573
574 }
575 #include "vmware_pack_end.h"
576 SVGA3dCmdDXSetViewports;
577
578 #define SVGA3D_DX_MAX_VIEWPORTS 16
579
580 typedef
581 #include "vmware_pack_begin.h"
582 struct SVGA3dCmdDXSetScissorRects {
583 uint32 pad0;
584
585 }
586 #include "vmware_pack_end.h"
587 SVGA3dCmdDXSetScissorRects;
588
589 #define SVGA3D_DX_MAX_SCISSORRECTS 16
590
591 typedef
592 #include "vmware_pack_begin.h"
593 struct SVGA3dCmdDXClearRenderTargetView {
594 SVGA3dRenderTargetViewId renderTargetViewId;
595 SVGA3dRGBAFloat rgba;
596 }
597 #include "vmware_pack_end.h"
598 SVGA3dCmdDXClearRenderTargetView;
599
600 typedef
601 #include "vmware_pack_begin.h"
602 struct SVGA3dCmdDXClearDepthStencilView {
603 uint16 flags;
604 uint16 stencil;
605 SVGA3dDepthStencilViewId depthStencilViewId;
606 float depth;
607 }
608 #include "vmware_pack_end.h"
609 SVGA3dCmdDXClearDepthStencilView;
610
611 typedef
612 #include "vmware_pack_begin.h"
613 struct SVGA3dCmdDXPredCopyRegion {
614 SVGA3dSurfaceId dstSid;
615 uint32 dstSubResource;
616 SVGA3dSurfaceId srcSid;
617 uint32 srcSubResource;
618 SVGA3dCopyBox box;
619 }
620 #include "vmware_pack_end.h"
621 SVGA3dCmdDXPredCopyRegion;
622
623
624 typedef
625 #include "vmware_pack_begin.h"
626 struct SVGA3dCmdDXPredCopy {
627 SVGA3dSurfaceId dstSid;
628 SVGA3dSurfaceId srcSid;
629 }
630 #include "vmware_pack_end.h"
631 SVGA3dCmdDXPredCopy;
632
633 typedef
634 #include "vmware_pack_begin.h"
635 struct SVGA3dCmdDXPredConvertRegion {
636 SVGA3dSurfaceId dstSid;
637 uint32 dstSubResource;
638 SVGA3dBox destBox;
639 SVGA3dSurfaceId srcSid;
640 uint32 srcSubResource;
641 SVGA3dBox srcBox;
642 }
643 #include "vmware_pack_end.h"
644 SVGA3dCmdDXPredConvertRegion;
645
646 typedef
647 #include "vmware_pack_begin.h"
648 struct SVGA3dCmdDXPredConvert {
649 SVGA3dSurfaceId dstSid;
650 SVGA3dSurfaceId srcSid;
651 }
652 #include "vmware_pack_end.h"
653 SVGA3dCmdDXPredConvert;
654
655 typedef
656 #include "vmware_pack_begin.h"
657 struct SVGA3dCmdDXBufferCopy {
658 SVGA3dSurfaceId dest;
659 SVGA3dSurfaceId src;
660 uint32 destX;
661 uint32 srcX;
662 uint32 width;
663 }
664 #include "vmware_pack_end.h"
665 SVGA3dCmdDXBufferCopy;
666
667
668
669
670
671
672 typedef
673 #include "vmware_pack_begin.h"
674 struct {
675 SVGA3dSurfaceId dstSid;
676 uint32 dstSubResource;
677 SVGA3dSurfaceId srcSid;
678 uint32 srcSubResource;
679 SVGA3dSurfaceFormat copyFormat;
680 }
681 #include "vmware_pack_end.h"
682 SVGA3dCmdDXResolveCopy;
683
684
685
686
687
688 typedef
689 #include "vmware_pack_begin.h"
690 struct {
691 SVGA3dSurfaceId dstSid;
692 uint32 dstSubResource;
693 SVGA3dSurfaceId srcSid;
694 uint32 srcSubResource;
695 SVGA3dSurfaceFormat copyFormat;
696 }
697 #include "vmware_pack_end.h"
698 SVGA3dCmdDXPredResolveCopy;
699
700 typedef uint32 SVGA3dDXPresentBltMode;
701 #define SVGADX_PRESENTBLT_LINEAR (1 << 0)
702 #define SVGADX_PRESENTBLT_FORCE_SRC_SRGB (1 << 1)
703 #define SVGADX_PRESENTBLT_FORCE_SRC_XRBIAS (1 << 2)
704 #define SVGADX_PRESENTBLT_MODE_MAX (1 << 3)
705
706 typedef
707 #include "vmware_pack_begin.h"
708 struct SVGA3dCmdDXPresentBlt {
709 SVGA3dSurfaceId srcSid;
710 uint32 srcSubResource;
711 SVGA3dSurfaceId dstSid;
712 uint32 destSubResource;
713 SVGA3dBox boxSrc;
714 SVGA3dBox boxDest;
715 SVGA3dDXPresentBltMode mode;
716 }
717 #include "vmware_pack_end.h"
718 SVGA3dCmdDXPresentBlt;
719
720 typedef
721 #include "vmware_pack_begin.h"
722 struct SVGA3dCmdDXGenMips {
723 SVGA3dShaderResourceViewId shaderResourceViewId;
724 }
725 #include "vmware_pack_end.h"
726 SVGA3dCmdDXGenMips;
727
728
729
730
731
732 typedef
733 #include "vmware_pack_begin.h"
734 struct SVGA3dCmdDXUpdateSubResource {
735 SVGA3dSurfaceId sid;
736 uint32 subResource;
737 SVGA3dBox box;
738 }
739 #include "vmware_pack_end.h"
740 SVGA3dCmdDXUpdateSubResource;
741
742
743
744
745
746 typedef
747 #include "vmware_pack_begin.h"
748 struct SVGA3dCmdDXReadbackSubResource {
749 SVGA3dSurfaceId sid;
750 uint32 subResource;
751 }
752 #include "vmware_pack_end.h"
753 SVGA3dCmdDXReadbackSubResource;
754
755
756
757
758
759 typedef
760 #include "vmware_pack_begin.h"
761 struct SVGA3dCmdDXInvalidateSubResource {
762 SVGA3dSurfaceId sid;
763 uint32 subResource;
764 }
765 #include "vmware_pack_end.h"
766 SVGA3dCmdDXInvalidateSubResource;
767
768
769
770
771
772
773
774 typedef
775 #include "vmware_pack_begin.h"
776 struct SVGA3dCmdDXTransferFromBuffer {
777 SVGA3dSurfaceId srcSid;
778 uint32 srcOffset;
779 uint32 srcPitch;
780 uint32 srcSlicePitch;
781 SVGA3dSurfaceId destSid;
782 uint32 destSubResource;
783 SVGA3dBox destBox;
784 }
785 #include "vmware_pack_end.h"
786 SVGA3dCmdDXTransferFromBuffer;
787
788
789
790
791
792
793
794 typedef
795 #include "vmware_pack_begin.h"
796 struct SVGA3dCmdDXPredTransferFromBuffer {
797 SVGA3dSurfaceId srcSid;
798 uint32 srcOffset;
799 uint32 srcPitch;
800 uint32 srcSlicePitch;
801 SVGA3dSurfaceId destSid;
802 uint32 destSubResource;
803 SVGA3dBox destBox;
804 }
805 #include "vmware_pack_end.h"
806 SVGA3dCmdDXPredTransferFromBuffer;
807
808
809
810 typedef
811 #include "vmware_pack_begin.h"
812 struct SVGA3dCmdDXSurfaceCopyAndReadback {
813 SVGA3dSurfaceId srcSid;
814 SVGA3dSurfaceId destSid;
815 SVGA3dCopyBox box;
816 }
817 #include "vmware_pack_end.h"
818 SVGA3dCmdDXSurfaceCopyAndReadback;
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839 typedef uint32 SVGADXHintId;
840 #define SVGA_DX_HINT_NONE 0
841 #define SVGA_DX_HINT_PREFETCH_OBJECT 1
842 #define SVGA_DX_HINT_PREEVICT_OBJECT 2
843 #define SVGA_DX_HINT_PREFETCH_COBJECT 3
844 #define SVGA_DX_HINT_PREEVICT_COBJECT 4
845 #define SVGA_DX_HINT_MAX 5
846
847 typedef
848 #include "vmware_pack_begin.h"
849 struct SVGAObjectRef {
850 SVGAOTableType type;
851 uint32 id;
852 }
853 #include "vmware_pack_end.h"
854 SVGAObjectRef;
855
856 typedef
857 #include "vmware_pack_begin.h"
858 struct SVGACObjectRef {
859 SVGACOTableType type;
860 uint32 cid;
861 uint32 id;
862 }
863 #include "vmware_pack_end.h"
864 SVGACObjectRef;
865
866 typedef
867 #include "vmware_pack_begin.h"
868 struct SVGA3dCmdDXHint {
869 SVGADXHintId hintId;
870
871
872
873
874 }
875 #include "vmware_pack_end.h"
876 SVGA3dCmdDXHint;
877
878
879 typedef
880 #include "vmware_pack_begin.h"
881 struct SVGA3dCmdDXBufferUpdate {
882 SVGA3dSurfaceId sid;
883 uint32 x;
884 uint32 width;
885 }
886 #include "vmware_pack_end.h"
887 SVGA3dCmdDXBufferUpdate;
888
889
890 typedef
891 #include "vmware_pack_begin.h"
892 struct SVGA3dCmdDXSetConstantBufferOffset {
893 uint32 slot;
894 uint32 offsetInBytes;
895 }
896 #include "vmware_pack_end.h"
897 SVGA3dCmdDXSetConstantBufferOffset;
898
899 typedef SVGA3dCmdDXSetConstantBufferOffset SVGA3dCmdDXSetVSConstantBufferOffset;
900
901
902 typedef SVGA3dCmdDXSetConstantBufferOffset SVGA3dCmdDXSetPSConstantBufferOffset;
903
904
905 typedef SVGA3dCmdDXSetConstantBufferOffset SVGA3dCmdDXSetGSConstantBufferOffset;
906
907
908
909 typedef
910 #include "vmware_pack_begin.h"
911 struct {
912 union {
913 struct {
914 uint32 firstElement;
915 uint32 numElements;
916 uint32 pad0;
917 uint32 pad1;
918 } buffer;
919 struct {
920 uint32 mostDetailedMip;
921 uint32 firstArraySlice;
922 uint32 mipLevels;
923 uint32 arraySize;
924 } tex;
925 struct {
926 uint32 firstElement;
927 uint32 numElements;
928 uint32 flags;
929 uint32 pad0;
930 } bufferex;
931 };
932 }
933 #include "vmware_pack_end.h"
934 SVGA3dShaderResourceViewDesc;
935
936 typedef
937 #include "vmware_pack_begin.h"
938 struct {
939 SVGA3dSurfaceId sid;
940 SVGA3dSurfaceFormat format;
941 SVGA3dResourceType resourceDimension;
942 SVGA3dShaderResourceViewDesc desc;
943 uint32 pad;
944 }
945 #include "vmware_pack_end.h"
946 SVGACOTableDXSRViewEntry;
947
948 typedef
949 #include "vmware_pack_begin.h"
950 struct SVGA3dCmdDXDefineShaderResourceView {
951 SVGA3dShaderResourceViewId shaderResourceViewId;
952
953 SVGA3dSurfaceId sid;
954 SVGA3dSurfaceFormat format;
955 SVGA3dResourceType resourceDimension;
956
957 SVGA3dShaderResourceViewDesc desc;
958 }
959 #include "vmware_pack_end.h"
960 SVGA3dCmdDXDefineShaderResourceView;
961
962
963 typedef
964 #include "vmware_pack_begin.h"
965 struct SVGA3dCmdDXDestroyShaderResourceView {
966 SVGA3dShaderResourceViewId shaderResourceViewId;
967 }
968 #include "vmware_pack_end.h"
969 SVGA3dCmdDXDestroyShaderResourceView;
970
971
972 typedef
973 #include "vmware_pack_begin.h"
974 struct SVGA3dRenderTargetViewDesc {
975 union {
976 struct {
977 uint32 firstElement;
978 uint32 numElements;
979 uint32 padding0;
980 } buffer;
981 struct {
982 uint32 mipSlice;
983 uint32 firstArraySlice;
984 uint32 arraySize;
985 } tex;
986 struct {
987 uint32 mipSlice;
988 uint32 firstW;
989 uint32 wSize;
990 } tex3D;
991 };
992 }
993 #include "vmware_pack_end.h"
994 SVGA3dRenderTargetViewDesc;
995
996 typedef
997 #include "vmware_pack_begin.h"
998 struct {
999 SVGA3dSurfaceId sid;
1000 SVGA3dSurfaceFormat format;
1001 SVGA3dResourceType resourceDimension;
1002 SVGA3dRenderTargetViewDesc desc;
1003 uint32 pad[2];
1004 }
1005 #include "vmware_pack_end.h"
1006 SVGACOTableDXRTViewEntry;
1007
1008 typedef
1009 #include "vmware_pack_begin.h"
1010 struct SVGA3dCmdDXDefineRenderTargetView {
1011 SVGA3dRenderTargetViewId renderTargetViewId;
1012
1013 SVGA3dSurfaceId sid;
1014 SVGA3dSurfaceFormat format;
1015 SVGA3dResourceType resourceDimension;
1016
1017 SVGA3dRenderTargetViewDesc desc;
1018 }
1019 #include "vmware_pack_end.h"
1020 SVGA3dCmdDXDefineRenderTargetView;
1021
1022
1023 typedef
1024 #include "vmware_pack_begin.h"
1025 struct SVGA3dCmdDXDestroyRenderTargetView {
1026 SVGA3dRenderTargetViewId renderTargetViewId;
1027 }
1028 #include "vmware_pack_end.h"
1029 SVGA3dCmdDXDestroyRenderTargetView;
1030
1031
1032
1033
1034 #define SVGA3D_DXDSVIEW_CREATE_READ_ONLY_DEPTH 0x01
1035 #define SVGA3D_DXDSVIEW_CREATE_READ_ONLY_STENCIL 0x02
1036 #define SVGA3D_DXDSVIEW_CREATE_FLAG_MASK 0x03
1037 typedef uint8 SVGA3DCreateDSViewFlags;
1038
1039 typedef
1040 #include "vmware_pack_begin.h"
1041 struct {
1042 SVGA3dSurfaceId sid;
1043 SVGA3dSurfaceFormat format;
1044 SVGA3dResourceType resourceDimension;
1045 uint32 mipSlice;
1046 uint32 firstArraySlice;
1047 uint32 arraySize;
1048 SVGA3DCreateDSViewFlags flags;
1049 uint8 pad0;
1050 uint16 pad1;
1051 uint32 pad2;
1052 }
1053 #include "vmware_pack_end.h"
1054 SVGACOTableDXDSViewEntry;
1055
1056 typedef
1057 #include "vmware_pack_begin.h"
1058 struct SVGA3dCmdDXDefineDepthStencilView {
1059 SVGA3dDepthStencilViewId depthStencilViewId;
1060
1061 SVGA3dSurfaceId sid;
1062 SVGA3dSurfaceFormat format;
1063 SVGA3dResourceType resourceDimension;
1064 uint32 mipSlice;
1065 uint32 firstArraySlice;
1066 uint32 arraySize;
1067 SVGA3DCreateDSViewFlags flags;
1068 uint8 pad0;
1069 uint16 pad1;
1070 }
1071 #include "vmware_pack_end.h"
1072 SVGA3dCmdDXDefineDepthStencilView;
1073
1074
1075 typedef
1076 #include "vmware_pack_begin.h"
1077 struct SVGA3dCmdDXDestroyDepthStencilView {
1078 SVGA3dDepthStencilViewId depthStencilViewId;
1079 }
1080 #include "vmware_pack_end.h"
1081 SVGA3dCmdDXDestroyDepthStencilView;
1082
1083
1084 typedef
1085 #include "vmware_pack_begin.h"
1086 struct SVGA3dInputElementDesc {
1087 uint32 inputSlot;
1088 uint32 alignedByteOffset;
1089 SVGA3dSurfaceFormat format;
1090 SVGA3dInputClassification inputSlotClass;
1091 uint32 instanceDataStepRate;
1092 uint32 inputRegister;
1093 }
1094 #include "vmware_pack_end.h"
1095 SVGA3dInputElementDesc;
1096
1097 typedef
1098 #include "vmware_pack_begin.h"
1099 struct {
1100 uint32 elid;
1101 uint32 numDescs;
1102 SVGA3dInputElementDesc desc[32];
1103 uint32 pad[62];
1104 }
1105 #include "vmware_pack_end.h"
1106 SVGACOTableDXElementLayoutEntry;
1107
1108 typedef
1109 #include "vmware_pack_begin.h"
1110 struct SVGA3dCmdDXDefineElementLayout {
1111 SVGA3dElementLayoutId elementLayoutId;
1112
1113 }
1114 #include "vmware_pack_end.h"
1115 SVGA3dCmdDXDefineElementLayout;
1116
1117
1118 typedef
1119 #include "vmware_pack_begin.h"
1120 struct SVGA3dCmdDXDestroyElementLayout {
1121 SVGA3dElementLayoutId elementLayoutId;
1122 }
1123 #include "vmware_pack_end.h"
1124 SVGA3dCmdDXDestroyElementLayout;
1125
1126
1127
1128 #define SVGA3D_DX_MAX_RENDER_TARGETS 8
1129
1130 typedef
1131 #include "vmware_pack_begin.h"
1132 struct SVGA3dDXBlendStatePerRT {
1133 uint8 blendEnable;
1134 uint8 srcBlend;
1135 uint8 destBlend;
1136 uint8 blendOp;
1137 uint8 srcBlendAlpha;
1138 uint8 destBlendAlpha;
1139 uint8 blendOpAlpha;
1140 SVGA3dColorWriteEnable renderTargetWriteMask;
1141 uint8 logicOpEnable;
1142 uint8 logicOp;
1143 uint16 pad0;
1144 }
1145 #include "vmware_pack_end.h"
1146 SVGA3dDXBlendStatePerRT;
1147
1148 typedef
1149 #include "vmware_pack_begin.h"
1150 struct {
1151 uint8 alphaToCoverageEnable;
1152 uint8 independentBlendEnable;
1153 uint16 pad0;
1154 SVGA3dDXBlendStatePerRT perRT[SVGA3D_MAX_RENDER_TARGETS];
1155 uint32 pad1[7];
1156 }
1157 #include "vmware_pack_end.h"
1158 SVGACOTableDXBlendStateEntry;
1159
1160
1161
1162 typedef
1163 #include "vmware_pack_begin.h"
1164 struct SVGA3dCmdDXDefineBlendState {
1165 SVGA3dBlendStateId blendId;
1166 uint8 alphaToCoverageEnable;
1167 uint8 independentBlendEnable;
1168 uint16 pad0;
1169 SVGA3dDXBlendStatePerRT perRT[SVGA3D_MAX_RENDER_TARGETS];
1170 }
1171 #include "vmware_pack_end.h"
1172 SVGA3dCmdDXDefineBlendState;
1173
1174 typedef
1175 #include "vmware_pack_begin.h"
1176 struct SVGA3dCmdDXDestroyBlendState {
1177 SVGA3dBlendStateId blendId;
1178 }
1179 #include "vmware_pack_end.h"
1180 SVGA3dCmdDXDestroyBlendState;
1181
1182 typedef
1183 #include "vmware_pack_begin.h"
1184 struct {
1185 uint8 depthEnable;
1186 SVGA3dDepthWriteMask depthWriteMask;
1187 SVGA3dComparisonFunc depthFunc;
1188 uint8 stencilEnable;
1189 uint8 frontEnable;
1190 uint8 backEnable;
1191 uint8 stencilReadMask;
1192 uint8 stencilWriteMask;
1193
1194 uint8 frontStencilFailOp;
1195 uint8 frontStencilDepthFailOp;
1196 uint8 frontStencilPassOp;
1197 SVGA3dComparisonFunc frontStencilFunc;
1198
1199 uint8 backStencilFailOp;
1200 uint8 backStencilDepthFailOp;
1201 uint8 backStencilPassOp;
1202 SVGA3dComparisonFunc backStencilFunc;
1203 }
1204 #include "vmware_pack_end.h"
1205 SVGACOTableDXDepthStencilEntry;
1206
1207
1208
1209 typedef
1210 #include "vmware_pack_begin.h"
1211 struct SVGA3dCmdDXDefineDepthStencilState {
1212 SVGA3dDepthStencilStateId depthStencilId;
1213
1214 uint8 depthEnable;
1215 SVGA3dDepthWriteMask depthWriteMask;
1216 SVGA3dComparisonFunc depthFunc;
1217 uint8 stencilEnable;
1218 uint8 frontEnable;
1219 uint8 backEnable;
1220 uint8 stencilReadMask;
1221 uint8 stencilWriteMask;
1222
1223 uint8 frontStencilFailOp;
1224 uint8 frontStencilDepthFailOp;
1225 uint8 frontStencilPassOp;
1226 SVGA3dComparisonFunc frontStencilFunc;
1227
1228 uint8 backStencilFailOp;
1229 uint8 backStencilDepthFailOp;
1230 uint8 backStencilPassOp;
1231 SVGA3dComparisonFunc backStencilFunc;
1232 }
1233 #include "vmware_pack_end.h"
1234 SVGA3dCmdDXDefineDepthStencilState;
1235
1236
1237 typedef
1238 #include "vmware_pack_begin.h"
1239 struct SVGA3dCmdDXDestroyDepthStencilState {
1240 SVGA3dDepthStencilStateId depthStencilId;
1241 }
1242 #include "vmware_pack_end.h"
1243 SVGA3dCmdDXDestroyDepthStencilState;
1244
1245
1246 typedef
1247 #include "vmware_pack_begin.h"
1248 struct {
1249 uint8 fillMode;
1250 SVGA3dCullMode cullMode;
1251 uint8 frontCounterClockwise;
1252 uint8 provokingVertexLast;
1253 int32 depthBias;
1254 float depthBiasClamp;
1255 float slopeScaledDepthBias;
1256 uint8 depthClipEnable;
1257 uint8 scissorEnable;
1258 SVGA3dMultisampleRastEnable multisampleEnable;
1259 uint8 antialiasedLineEnable;
1260 float lineWidth;
1261 uint8 lineStippleEnable;
1262 uint8 lineStippleFactor;
1263 uint16 lineStipplePattern;
1264 uint32 forcedSampleCount;
1265 }
1266 #include "vmware_pack_end.h"
1267 SVGACOTableDXRasterizerStateEntry;
1268
1269
1270
1271 typedef
1272 #include "vmware_pack_begin.h"
1273 struct SVGA3dCmdDXDefineRasterizerState {
1274 SVGA3dRasterizerStateId rasterizerId;
1275
1276 uint8 fillMode;
1277 SVGA3dCullMode cullMode;
1278 uint8 frontCounterClockwise;
1279 uint8 provokingVertexLast;
1280 int32 depthBias;
1281 float depthBiasClamp;
1282 float slopeScaledDepthBias;
1283 uint8 depthClipEnable;
1284 uint8 scissorEnable;
1285 SVGA3dMultisampleRastEnable multisampleEnable;
1286 uint8 antialiasedLineEnable;
1287 float lineWidth;
1288 uint8 lineStippleEnable;
1289 uint8 lineStippleFactor;
1290 uint16 lineStipplePattern;
1291 }
1292 #include "vmware_pack_end.h"
1293 SVGA3dCmdDXDefineRasterizerState;
1294
1295
1296 typedef
1297 #include "vmware_pack_begin.h"
1298 struct SVGA3dCmdDXDestroyRasterizerState {
1299 SVGA3dRasterizerStateId rasterizerId;
1300 }
1301 #include "vmware_pack_end.h"
1302 SVGA3dCmdDXDestroyRasterizerState;
1303
1304
1305 typedef
1306 #include "vmware_pack_begin.h"
1307 struct {
1308 SVGA3dFilter filter;
1309 uint8 addressU;
1310 uint8 addressV;
1311 uint8 addressW;
1312 uint8 pad0;
1313 float mipLODBias;
1314 uint8 maxAnisotropy;
1315 SVGA3dComparisonFunc comparisonFunc;
1316 uint16 pad1;
1317 SVGA3dRGBAFloat borderColor;
1318 float minLOD;
1319 float maxLOD;
1320 uint32 pad2[6];
1321 }
1322 #include "vmware_pack_end.h"
1323 SVGACOTableDXSamplerEntry;
1324
1325
1326
1327 typedef
1328 #include "vmware_pack_begin.h"
1329 struct SVGA3dCmdDXDefineSamplerState {
1330 SVGA3dSamplerId samplerId;
1331 SVGA3dFilter filter;
1332 uint8 addressU;
1333 uint8 addressV;
1334 uint8 addressW;
1335 uint8 pad0;
1336 float mipLODBias;
1337 uint8 maxAnisotropy;
1338 SVGA3dComparisonFunc comparisonFunc;
1339 uint16 pad1;
1340 SVGA3dRGBAFloat borderColor;
1341 float minLOD;
1342 float maxLOD;
1343 }
1344 #include "vmware_pack_end.h"
1345 SVGA3dCmdDXDefineSamplerState;
1346
1347 typedef
1348 #include "vmware_pack_begin.h"
1349 struct SVGA3dCmdDXDestroySamplerState {
1350 SVGA3dSamplerId samplerId;
1351 }
1352 #include "vmware_pack_end.h"
1353 SVGA3dCmdDXDestroySamplerState;
1354
1355 typedef
1356 #include "vmware_pack_begin.h"
1357 struct SVGA3dCmdDXDefineShader {
1358 SVGA3dShaderId shaderId;
1359 SVGA3dShaderType type;
1360 uint32 sizeInBytes;
1361 }
1362 #include "vmware_pack_end.h"
1363 SVGA3dCmdDXDefineShader;
1364
1365 typedef
1366 #include "vmware_pack_begin.h"
1367 struct SVGACOTableDXShaderEntry {
1368 SVGA3dShaderType type;
1369 uint32 sizeInBytes;
1370 uint32 offsetInBytes;
1371 SVGAMobId mobid;
1372 uint32 pad[4];
1373 }
1374 #include "vmware_pack_end.h"
1375 SVGACOTableDXShaderEntry;
1376
1377 typedef
1378 #include "vmware_pack_begin.h"
1379 struct SVGA3dCmdDXDestroyShader {
1380 SVGA3dShaderId shaderId;
1381 }
1382 #include "vmware_pack_end.h"
1383 SVGA3dCmdDXDestroyShader;
1384
1385 typedef
1386 #include "vmware_pack_begin.h"
1387 struct SVGA3dCmdDXBindShader {
1388 uint32 cid;
1389 uint32 shid;
1390 SVGAMobId mobid;
1391 uint32 offsetInBytes;
1392 }
1393 #include "vmware_pack_end.h"
1394 SVGA3dCmdDXBindShader;
1395
1396 typedef
1397 #include "vmware_pack_begin.h"
1398 struct SVGA3dCmdDXBindAllShader {
1399 uint32 cid;
1400 SVGAMobId mobid;
1401 }
1402 #include "vmware_pack_end.h"
1403 SVGA3dCmdDXBindAllShader;
1404
1405 typedef
1406 #include "vmware_pack_begin.h"
1407 struct SVGA3dCmdDXCondBindAllShader {
1408 uint32 cid;
1409 SVGAMobId testMobid;
1410 SVGAMobId mobid;
1411 }
1412 #include "vmware_pack_end.h"
1413 SVGA3dCmdDXCondBindAllShader;
1414
1415
1416
1417
1418 #define SVGA3D_MAX_STREAMOUT_DECLS 64
1419
1420 typedef
1421 #include "vmware_pack_begin.h"
1422 struct SVGA3dStreamOutputDeclarationEntry {
1423 uint32 outputSlot;
1424 uint32 registerIndex;
1425 uint8 registerMask;
1426 uint8 pad0;
1427 uint16 pad1;
1428 uint32 stream;
1429 }
1430 #include "vmware_pack_end.h"
1431 SVGA3dStreamOutputDeclarationEntry;
1432
1433 typedef
1434 #include "vmware_pack_begin.h"
1435 struct SVGAOTableStreamOutputEntry {
1436 uint32 numOutputStreamEntries;
1437 SVGA3dStreamOutputDeclarationEntry decl[SVGA3D_MAX_STREAMOUT_DECLS];
1438 uint32 streamOutputStrideInBytes[SVGA3D_DX_MAX_SOTARGETS];
1439 uint32 rasterizedStream;
1440 uint32 pad[250];
1441 }
1442 #include "vmware_pack_end.h"
1443 SVGACOTableDXStreamOutputEntry;
1444
1445 typedef
1446 #include "vmware_pack_begin.h"
1447 struct SVGA3dCmdDXDefineStreamOutput {
1448 SVGA3dStreamOutputId soid;
1449 uint32 numOutputStreamEntries;
1450 SVGA3dStreamOutputDeclarationEntry decl[SVGA3D_MAX_STREAMOUT_DECLS];
1451 uint32 streamOutputStrideInBytes[SVGA3D_DX_MAX_SOTARGETS];
1452 uint32 rasterizedStream;
1453 }
1454 #include "vmware_pack_end.h"
1455 SVGA3dCmdDXDefineStreamOutput;
1456
1457 typedef
1458 #include "vmware_pack_begin.h"
1459 struct SVGA3dCmdDXDestroyStreamOutput {
1460 SVGA3dStreamOutputId soid;
1461 }
1462 #include "vmware_pack_end.h"
1463 SVGA3dCmdDXDestroyStreamOutput;
1464
1465 typedef
1466 #include "vmware_pack_begin.h"
1467 struct SVGA3dCmdDXSetStreamOutput {
1468 SVGA3dStreamOutputId soid;
1469 }
1470 #include "vmware_pack_end.h"
1471 SVGA3dCmdDXSetStreamOutput;
1472
1473 typedef
1474 #include "vmware_pack_begin.h"
1475 struct {
1476 uint64 value;
1477 uint32 mobId;
1478 uint32 mobOffset;
1479 }
1480 #include "vmware_pack_end.h"
1481 SVGA3dCmdDXMobFence64;
1482
1483
1484
1485
1486
1487
1488 typedef
1489 #include "vmware_pack_begin.h"
1490 struct SVGA3dCmdDXSetCOTable {
1491 uint32 cid;
1492 uint32 mobid;
1493 SVGACOTableType type;
1494 uint32 validSizeInBytes;
1495 }
1496 #include "vmware_pack_end.h"
1497 SVGA3dCmdDXSetCOTable;
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508 typedef
1509 #include "vmware_pack_begin.h"
1510 struct SVGA3dCmdDXGrowCOTable {
1511 uint32 cid;
1512 uint32 mobid;
1513 SVGACOTableType type;
1514 uint32 validSizeInBytes;
1515 }
1516 #include "vmware_pack_end.h"
1517 SVGA3dCmdDXGrowCOTable;
1518
1519 typedef
1520 #include "vmware_pack_begin.h"
1521 struct SVGA3dCmdDXReadbackCOTable {
1522 uint32 cid;
1523 SVGACOTableType type;
1524 }
1525 #include "vmware_pack_end.h"
1526 SVGA3dCmdDXReadbackCOTable;
1527
1528 typedef
1529 #include "vmware_pack_begin.h"
1530 struct SVGA3dCOTableData {
1531 uint32 mobid;
1532 }
1533 #include "vmware_pack_end.h"
1534 SVGA3dCOTableData;
1535
1536 typedef
1537 #include "vmware_pack_begin.h"
1538 struct SVGA3dBufferBinding {
1539 uint32 bufferId;
1540 uint32 stride;
1541 uint32 offset;
1542 }
1543 #include "vmware_pack_end.h"
1544 SVGA3dBufferBinding;
1545
1546 typedef
1547 #include "vmware_pack_begin.h"
1548 struct SVGA3dConstantBufferBinding {
1549 uint32 sid;
1550 uint32 offsetInBytes;
1551 uint32 sizeInBytes;
1552 }
1553 #include "vmware_pack_end.h"
1554 SVGA3dConstantBufferBinding;
1555
1556 typedef
1557 #include "vmware_pack_begin.h"
1558 struct SVGADXInputAssemblyMobFormat {
1559 uint32 layoutId;
1560 SVGA3dBufferBinding vertexBuffers[SVGA3D_DX_MAX_VERTEXBUFFERS];
1561 uint32 indexBufferSid;
1562 uint32 pad;
1563 uint32 indexBufferOffset;
1564 uint32 indexBufferFormat;
1565 uint32 topology;
1566 }
1567 #include "vmware_pack_end.h"
1568 SVGADXInputAssemblyMobFormat;
1569
1570 typedef
1571 #include "vmware_pack_begin.h"
1572 struct SVGADXContextMobFormat {
1573 SVGADXInputAssemblyMobFormat inputAssembly;
1574
1575 struct {
1576 uint32 blendStateId;
1577 uint32 blendFactor[4];
1578 uint32 sampleMask;
1579 uint32 depthStencilStateId;
1580 uint32 stencilRef;
1581 uint32 rasterizerStateId;
1582 uint32 depthStencilViewId;
1583 uint32 renderTargetViewIds[SVGA3D_MAX_SIMULTANEOUS_RENDER_TARGETS];
1584 uint32 unorderedAccessViewIds[SVGA3D_MAX_UAVIEWS];
1585 } renderState;
1586
1587 struct {
1588 uint32 targets[SVGA3D_DX_MAX_SOTARGETS];
1589 uint32 soid;
1590 } streamOut;
1591 uint32 pad0[11];
1592
1593 uint8 numViewports;
1594 uint8 numScissorRects;
1595 uint16 pad1[1];
1596
1597 uint32 pad2[3];
1598
1599 SVGA3dViewport viewports[SVGA3D_DX_MAX_VIEWPORTS];
1600 uint32 pad3[32];
1601
1602 SVGASignedRect scissorRects[SVGA3D_DX_MAX_SCISSORRECTS];
1603 uint32 pad4[64];
1604
1605 struct {
1606 uint32 queryID;
1607 uint32 value;
1608 } predication;
1609 uint32 pad5[2];
1610
1611 struct {
1612 uint32 shaderId;
1613 SVGA3dConstantBufferBinding constantBuffers[SVGA3D_DX_MAX_CONSTBUFFERS];
1614 uint32 shaderResources[SVGA3D_DX_MAX_SRVIEWS];
1615 uint32 samplers[SVGA3D_DX_MAX_SAMPLERS];
1616 } shaderState[SVGA3D_NUM_SHADERTYPE];
1617 uint32 pad6[26];
1618
1619 SVGA3dQueryId queryID[SVGA3D_MAX_QUERY];
1620
1621 SVGA3dCOTableData cotables[SVGA_COTABLE_MAX];
1622 uint32 pad7[380];
1623 }
1624 #include "vmware_pack_end.h"
1625 SVGADXContextMobFormat;
1626
1627 typedef
1628 #include "vmware_pack_begin.h"
1629 struct SVGA3dCmdDXTempSetContext {
1630 uint32 dxcid;
1631 }
1632 #include "vmware_pack_end.h"
1633 SVGA3dCmdDXTempSetContext;
1634
1635 #endif