svga: add SVGA3D_vgpu10_BufferCopy()
[mesa.git] / src / gallium / drivers / svga / svga_cmd.h
1 /**********************************************************
2 * Copyright 2008-2009 VMware, Inc. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person
5 * obtaining a copy of this software and associated documentation
6 * files (the "Software"), to deal in the Software without
7 * restriction, including without limitation the rights to use, copy,
8 * modify, merge, publish, distribute, sublicense, and/or sell copies
9 * of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 *
24 **********************************************************/
25
26 /*
27 * svga_cmd.h --
28 *
29 * Command construction utility for the SVGA3D protocol used by
30 * the VMware SVGA device, based on the svgautil library.
31 */
32
33 #ifndef __SVGA3D_H__
34 #define __SVGA3D_H__
35
36
37 #include "svga_types.h"
38 #include "svga_reg.h"
39 #include "svga3d_reg.h"
40
41 #include "pipe/p_defines.h"
42
43
44 struct pipe_surface;
45 struct svga_transfer;
46 struct svga_winsys_context;
47 struct svga_winsys_buffer;
48 struct svga_winsys_surface;
49 struct svga_winsys_gb_shader;
50 struct svga_winsys_gb_query;
51
52
53 /*
54 * SVGA Device Interoperability
55 */
56
57 void *
58 SVGA3D_FIFOReserve(struct svga_winsys_context *swc, uint32 cmd, uint32 cmdSize, uint32 nr_relocs);
59
60 void
61 SVGA_FIFOCommitAll(struct svga_winsys_context *swc);
62
63
64 /*
65 * Context Management
66 */
67
68 enum pipe_error
69 SVGA3D_DefineContext(struct svga_winsys_context *swc);
70
71 enum pipe_error
72 SVGA3D_DestroyContext(struct svga_winsys_context *swc);
73
74
75 /*
76 * Surface Management
77 */
78
79 enum pipe_error
80 SVGA3D_BeginDefineSurface(struct svga_winsys_context *swc,
81 struct svga_winsys_surface *sid,
82 SVGA3dSurfaceFlags flags,
83 SVGA3dSurfaceFormat format,
84 SVGA3dSurfaceFace **faces,
85 SVGA3dSize **mipSizes,
86 uint32 numMipSizes);
87 enum pipe_error
88 SVGA3D_DefineSurface2D(struct svga_winsys_context *swc,
89 struct svga_winsys_surface *sid,
90 uint32 width,
91 uint32 height,
92 SVGA3dSurfaceFormat format);
93 enum pipe_error
94 SVGA3D_DestroySurface(struct svga_winsys_context *swc,
95 struct svga_winsys_surface *sid);
96
97
98 /*
99 * Surface Operations
100 */
101
102 enum pipe_error
103 SVGA3D_SurfaceDMA(struct svga_winsys_context *swc,
104 struct svga_transfer *st,
105 SVGA3dTransferType transfer,
106 const SVGA3dCopyBox *boxes,
107 uint32 numBoxes,
108 SVGA3dSurfaceDMAFlags flags);
109
110 enum pipe_error
111 SVGA3D_BufferDMA(struct svga_winsys_context *swc,
112 struct svga_winsys_buffer *guest,
113 struct svga_winsys_surface *host,
114 SVGA3dTransferType transfer,
115 uint32 size,
116 uint32 guest_offset,
117 uint32 host_offset,
118 SVGA3dSurfaceDMAFlags flags);
119
120 /*
121 * Drawing Operations
122 */
123
124
125 enum pipe_error
126 SVGA3D_BeginClear(struct svga_winsys_context *swc,
127 SVGA3dClearFlag flags,
128 uint32 color, float depth, uint32 stencil,
129 SVGA3dRect **rects, uint32 numRects);
130
131 enum pipe_error
132 SVGA3D_ClearRect(struct svga_winsys_context *swc,
133 SVGA3dClearFlag flags, uint32 color, float depth,
134 uint32 stencil, uint32 x, uint32 y, uint32 w, uint32 h);
135
136 enum pipe_error
137 SVGA3D_BeginDrawPrimitives(struct svga_winsys_context *swc,
138 SVGA3dVertexDecl **decls,
139 uint32 numVertexDecls,
140 SVGA3dPrimitiveRange **ranges,
141 uint32 numRanges);
142
143 /*
144 * Blits
145 */
146
147 enum pipe_error
148 SVGA3D_BeginSurfaceCopy(struct svga_winsys_context *swc,
149 struct pipe_surface *src,
150 struct pipe_surface *dest,
151 SVGA3dCopyBox **boxes, uint32 numBoxes);
152
153
154 enum pipe_error
155 SVGA3D_SurfaceStretchBlt(struct svga_winsys_context *swc,
156 struct pipe_surface *src,
157 struct pipe_surface *dest,
158 SVGA3dBox *boxSrc, SVGA3dBox *boxDest,
159 SVGA3dStretchBltMode mode);
160
161 /*
162 * Shared FFP/Shader Render State
163 */
164
165 enum pipe_error
166 SVGA3D_SetRenderTarget(struct svga_winsys_context *swc,
167 SVGA3dRenderTargetType type,
168 struct pipe_surface *surface);
169
170 enum pipe_error
171 SVGA3D_SetZRange(struct svga_winsys_context *swc,
172 float zMin, float zMax);
173
174 enum pipe_error
175 SVGA3D_SetViewport(struct svga_winsys_context *swc,
176 SVGA3dRect *rect);
177
178 enum pipe_error
179 SVGA3D_SetScissorRect(struct svga_winsys_context *swc,
180 SVGA3dRect *rect);
181
182 enum pipe_error
183 SVGA3D_SetClipPlane(struct svga_winsys_context *swc,
184 uint32 index, const float *plane);
185
186 enum pipe_error
187 SVGA3D_BeginSetTextureState(struct svga_winsys_context *swc,
188 SVGA3dTextureState **states,
189 uint32 numStates);
190
191 enum pipe_error
192 SVGA3D_BeginSetRenderState(struct svga_winsys_context *swc,
193 SVGA3dRenderState **states,
194 uint32 numStates);
195
196
197 /*
198 * Shaders
199 */
200
201 enum pipe_error
202 SVGA3D_DefineShader(struct svga_winsys_context *swc,
203 uint32 shid, SVGA3dShaderType type,
204 const uint32 *bytecode, uint32 bytecodeLen);
205
206 enum pipe_error
207 SVGA3D_DestroyShader(struct svga_winsys_context *swc,
208 uint32 shid, SVGA3dShaderType type);
209
210 enum pipe_error
211 SVGA3D_SetShaderConst(struct svga_winsys_context *swc,
212 uint32 reg, SVGA3dShaderType type,
213 SVGA3dShaderConstType ctype, const void *value);
214
215 enum pipe_error
216 SVGA3D_SetShaderConsts(struct svga_winsys_context *swc,
217 uint32 reg,
218 uint32 numRegs,
219 SVGA3dShaderType type,
220 SVGA3dShaderConstType ctype,
221 const void *values);
222
223 enum pipe_error
224 SVGA3D_SetShader(struct svga_winsys_context *swc,
225 SVGA3dShaderType type, uint32 shid);
226
227
228 /*
229 * Guest-backed surface functions
230 */
231
232 enum pipe_error
233 SVGA3D_BindGBShader(struct svga_winsys_context *swc,
234 struct svga_winsys_gb_shader *gbshader);
235
236 enum pipe_error
237 SVGA3D_SetGBShader(struct svga_winsys_context *swc,
238 SVGA3dShaderType type,
239 struct svga_winsys_gb_shader *gbshader);
240
241 enum pipe_error
242 SVGA3D_BindGBSurface(struct svga_winsys_context *swc,
243 struct svga_winsys_surface *surface);
244
245 enum pipe_error
246 SVGA3D_UpdateGBImage(struct svga_winsys_context *swc,
247 struct svga_winsys_surface *surface,
248 const SVGA3dBox *box,
249 unsigned face, unsigned mipLevel);
250
251 enum pipe_error
252 SVGA3D_UpdateGBSurface(struct svga_winsys_context *swc,
253 struct svga_winsys_surface *surface);
254
255
256 enum pipe_error
257 SVGA3D_ReadbackGBImage(struct svga_winsys_context *swc,
258 struct svga_winsys_surface *surface,
259 unsigned face, unsigned mipLevel);
260
261
262 enum pipe_error
263 SVGA3D_ReadbackGBSurface(struct svga_winsys_context *swc,
264 struct svga_winsys_surface *surface);
265
266
267 enum pipe_error
268 SVGA3D_ReadbackGBImagePartial(struct svga_winsys_context *swc,
269 struct svga_winsys_surface *surface,
270 unsigned face, unsigned mipLevel,
271 const SVGA3dBox *box,
272 bool invertBox);
273
274
275 enum pipe_error
276 SVGA3D_InvalidateGBImagePartial(struct svga_winsys_context *swc,
277 struct svga_winsys_surface *surface,
278 unsigned face, unsigned mipLevel,
279 const SVGA3dBox *box,
280 bool invertBox);
281
282
283 enum pipe_error
284 SVGA3D_SetGBShaderConstsInline(struct svga_winsys_context *swc,
285 unsigned regStart,
286 unsigned numRegs,
287 SVGA3dShaderType shaderType,
288 SVGA3dShaderConstType constType,
289 const void *values);
290
291 /*
292 * Queries
293 */
294
295 enum pipe_error
296 SVGA3D_BeginQuery(struct svga_winsys_context *swc,
297 SVGA3dQueryType type);
298
299 enum pipe_error
300 SVGA3D_EndQuery(struct svga_winsys_context *swc,
301 SVGA3dQueryType type,
302 struct svga_winsys_buffer *buffer);
303
304 enum pipe_error
305 SVGA3D_WaitForQuery(struct svga_winsys_context *swc,
306 SVGA3dQueryType type,
307 struct svga_winsys_buffer *buffer);
308
309
310
311 /*
312 * VGPU10 commands
313 */
314
315 enum pipe_error
316 SVGA3D_vgpu10_PredCopyRegion(struct svga_winsys_context *swc,
317 struct svga_winsys_surface *dstSurf,
318 uint32 dstSubResource,
319 struct svga_winsys_surface *srcSurf,
320 uint32 srcSubResource,
321 const SVGA3dCopyBox *box);
322
323 enum pipe_error
324 SVGA3D_vgpu10_PredCopy(struct svga_winsys_context *swc,
325 struct svga_winsys_surface *dstSurf,
326 struct svga_winsys_surface *srcSurf);
327
328 enum pipe_error
329 SVGA3D_vgpu10_SetViewports(struct svga_winsys_context *swc,
330 unsigned count, const SVGA3dViewport *viewports);
331
332 enum pipe_error
333 SVGA3D_vgpu10_SetShader(struct svga_winsys_context *swc,
334 SVGA3dShaderType type,
335 struct svga_winsys_gb_shader *gbshader,
336 SVGA3dShaderId shaderId);
337
338 enum pipe_error
339 SVGA3D_vgpu10_SetShaderResources(struct svga_winsys_context *swc,
340 SVGA3dShaderType type,
341 uint32 startView,
342 unsigned count,
343 const SVGA3dShaderResourceViewId ids[],
344 struct svga_winsys_surface **views);
345
346 enum pipe_error
347 SVGA3D_vgpu10_SetSamplers(struct svga_winsys_context *swc,
348 unsigned count,
349 uint32 startSampler,
350 SVGA3dShaderType type,
351 const SVGA3dSamplerId *samplerIds);
352
353 enum pipe_error
354 SVGA3D_vgpu10_SetRenderTargets(struct svga_winsys_context *swc,
355 unsigned color_count,
356 struct pipe_surface **color_surfs,
357 struct pipe_surface *depth_stencil_surf);
358
359 enum pipe_error
360 SVGA3D_vgpu10_SetBlendState(struct svga_winsys_context *swc,
361 SVGA3dBlendStateId blendId,
362 const float *blendFactor, uint32 sampleMask);
363
364 enum pipe_error
365 SVGA3D_vgpu10_SetDepthStencilState(struct svga_winsys_context *swc,
366 SVGA3dDepthStencilStateId depthStencilId,
367 uint32 stencilRef);
368
369 enum pipe_error
370 SVGA3D_vgpu10_SetRasterizerState(struct svga_winsys_context *swc,
371 SVGA3dRasterizerStateId rasterizerId);
372
373 enum pipe_error
374 SVGA3D_vgpu10_SetPredication(struct svga_winsys_context *swc,
375 SVGA3dQueryId queryId,
376 uint32 predicateValue);
377
378 enum pipe_error
379 SVGA3D_vgpu10_SetSOTargets(struct svga_winsys_context *swc,
380 unsigned count, const SVGA3dSoTarget *targets,
381 struct svga_winsys_surface **surfaces);
382
383 enum pipe_error
384 SVGA3D_vgpu10_SetScissorRects(struct svga_winsys_context *swc,
385 unsigned count,
386 const SVGASignedRect *rects);
387
388 enum pipe_error
389 SVGA3D_vgpu10_SetStreamOutput(struct svga_winsys_context *swc,
390 SVGA3dStreamOutputId soid);
391
392 enum pipe_error
393 SVGA3D_vgpu10_Draw(struct svga_winsys_context *swc,
394 uint32 vertexCount, uint32 startVertexLocation);
395
396 enum pipe_error
397 SVGA3D_vgpu10_DrawIndexed(struct svga_winsys_context *swc,
398 uint32 indexCount, uint32 startIndexLocation,
399 int32 baseVertexLocation);
400
401 enum pipe_error
402 SVGA3D_vgpu10_DrawInstanced(struct svga_winsys_context *swc,
403 uint32 vertexCountPerInstance,
404 uint32 instanceCount,
405 uint32 startVertexLocation,
406 uint32 startInstanceLocation);
407
408 enum pipe_error
409 SVGA3D_vgpu10_DrawIndexedInstanced(struct svga_winsys_context *swc,
410 uint32 indexCountPerInstance,
411 uint32 instanceCount,
412 uint32 startIndexLocation,
413 int32 baseVertexLocation,
414 uint32 startInstanceLocation);
415
416 enum pipe_error
417 SVGA3D_vgpu10_DrawAuto(struct svga_winsys_context *swc);
418
419 enum pipe_error
420 SVGA3D_vgpu10_DefineQuery(struct svga_winsys_context *swc,
421 SVGA3dQueryId queryId,
422 SVGA3dQueryType type,
423 SVGA3dDXQueryFlags flags);
424
425 enum pipe_error
426 SVGA3D_vgpu10_DestroyQuery(struct svga_winsys_context *swc,
427 SVGA3dQueryId queryId);
428
429 enum pipe_error
430 SVGA3D_vgpu10_BindQuery(struct svga_winsys_context *swc,
431 struct svga_winsys_gb_query *gbQuery,
432 SVGA3dQueryId queryId);
433
434 enum pipe_error
435 SVGA3D_vgpu10_SetQueryOffset(struct svga_winsys_context *swc,
436 SVGA3dQueryId queryId,
437 uint32 mobOffset);
438
439 enum pipe_error
440 SVGA3D_vgpu10_BeginQuery(struct svga_winsys_context *swc,
441 SVGA3dQueryId queryId);
442
443 enum pipe_error
444 SVGA3D_vgpu10_EndQuery(struct svga_winsys_context *swc,
445 SVGA3dQueryId queryId);
446
447 enum pipe_error
448 SVGA3D_vgpu10_ClearRenderTargetView(struct svga_winsys_context *swc,
449 struct pipe_surface *color_surf,
450 const float *rgba);
451
452 enum pipe_error
453 SVGA3D_vgpu10_ClearDepthStencilView(struct svga_winsys_context *swc,
454 struct pipe_surface *ds_surf,
455 uint16 flags, uint16 stencil, float depth);
456
457 enum pipe_error
458 SVGA3D_vgpu10_DefineShaderResourceView(struct svga_winsys_context *swc,
459 SVGA3dShaderResourceViewId shaderResourceViewId,
460 struct svga_winsys_surface *surf,
461 SVGA3dSurfaceFormat format,
462 SVGA3dResourceType resourceDimension,
463 const SVGA3dShaderResourceViewDesc *desc);
464
465 enum pipe_error
466 SVGA3D_vgpu10_DestroyShaderResourceView(struct svga_winsys_context *swc,
467 SVGA3dShaderResourceViewId shaderResourceViewId);
468
469 enum pipe_error
470 SVGA3D_vgpu10_DefineRenderTargetView(struct svga_winsys_context *swc,
471 SVGA3dRenderTargetViewId renderTargetViewId,
472 struct svga_winsys_surface *surface,
473 SVGA3dSurfaceFormat format,
474 SVGA3dResourceType resourceDimension,
475 const SVGA3dRenderTargetViewDesc *desc);
476
477 enum pipe_error
478 SVGA3D_vgpu10_DestroyRenderTargetView(struct svga_winsys_context *swc,
479 SVGA3dRenderTargetViewId renderTargetViewId);
480
481 enum pipe_error
482 SVGA3D_vgpu10_DefineDepthStencilView(struct svga_winsys_context *swc,
483 SVGA3dDepthStencilViewId depthStencilViewId,
484 struct svga_winsys_surface *surface,
485 SVGA3dSurfaceFormat format,
486 SVGA3dResourceType resourceDimension,
487 const SVGA3dRenderTargetViewDesc *desc);
488
489
490 enum pipe_error
491 SVGA3D_vgpu10_DestroyDepthStencilView(struct svga_winsys_context *swc,
492 SVGA3dDepthStencilViewId depthStencilViewId);
493
494 enum pipe_error
495 SVGA3D_vgpu10_DefineElementLayout(struct svga_winsys_context *swc,
496 unsigned count,
497 SVGA3dElementLayoutId elementLayoutId,
498 const SVGA3dInputElementDesc *elements);
499
500 enum pipe_error
501 SVGA3D_vgpu10_DestroyElementLayout(struct svga_winsys_context *swc,
502 SVGA3dElementLayoutId elementLayoutId);
503
504 enum pipe_error
505 SVGA3D_vgpu10_DefineBlendState(struct svga_winsys_context *swc,
506 SVGA3dBlendStateId blendId,
507 uint8 alphaToCoverageEnable,
508 uint8 independentBlendEnable,
509 const SVGA3dDXBlendStatePerRT *perRT);
510
511 enum pipe_error
512 SVGA3D_vgpu10_DestroyBlendState(struct svga_winsys_context *swc,
513 SVGA3dBlendStateId blendId);
514
515 enum pipe_error
516 SVGA3D_vgpu10_DefineDepthStencilState(struct svga_winsys_context *swc,
517 SVGA3dDepthStencilStateId depthStencilId,
518 uint8 depthEnable,
519 SVGA3dDepthWriteMask depthWriteMask,
520 SVGA3dComparisonFunc depthFunc,
521 uint8 stencilEnable,
522 uint8 frontEnable,
523 uint8 backEnable,
524 uint8 stencilReadMask,
525 uint8 stencilWriteMask,
526 uint8 frontStencilFailOp,
527 uint8 frontStencilDepthFailOp,
528 uint8 frontStencilPassOp,
529 SVGA3dComparisonFunc frontStencilFunc,
530 uint8 backStencilFailOp,
531 uint8 backStencilDepthFailOp,
532 uint8 backStencilPassOp,
533 SVGA3dComparisonFunc backStencilFunc);
534
535 enum pipe_error
536 SVGA3D_vgpu10_DestroyDepthStencilState(struct svga_winsys_context *swc,
537 SVGA3dDepthStencilStateId depthStencilId);
538
539 enum pipe_error
540 SVGA3D_vgpu10_DefineRasterizerState(struct svga_winsys_context *swc,
541 SVGA3dRasterizerStateId rasterizerId,
542 uint8 fillMode,
543 SVGA3dCullMode cullMode,
544 uint8 frontCounterClockwise,
545 int32 depthBias,
546 float depthBiasClamp,
547 float slopeScaledDepthBias,
548 uint8 depthClipEnable,
549 uint8 scissorEnable,
550 uint8 multisampleEnable,
551 uint8 antialiasedLineEnable,
552 float lineWidth,
553 uint8 lineStippleEnable,
554 uint8 lineStippleFactor,
555 uint16 lineStipplePattern,
556 uint8 provokingVertexLast);
557
558 enum pipe_error
559 SVGA3D_vgpu10_DestroyRasterizerState(struct svga_winsys_context *swc,
560 SVGA3dRasterizerStateId rasterizerId);
561
562 enum pipe_error
563 SVGA3D_vgpu10_DefineSamplerState(struct svga_winsys_context *swc,
564 SVGA3dSamplerId samplerId,
565 SVGA3dFilter filter,
566 uint8 addressU,
567 uint8 addressV,
568 uint8 addressW,
569 float mipLODBias,
570 uint8 maxAnisotropy,
571 uint8 comparisonFunc,
572 SVGA3dRGBAFloat borderColor,
573 float minLOD,
574 float maxLOD);
575
576 enum pipe_error
577 SVGA3D_vgpu10_DestroySamplerState(struct svga_winsys_context *swc,
578 SVGA3dSamplerId samplerId);
579
580 enum pipe_error
581 SVGA3D_vgpu10_DestroyShader(struct svga_winsys_context *swc,
582 SVGA3dShaderId shaderId);
583
584 enum pipe_error
585 SVGA3D_vgpu10_DefineAndBindShader(struct svga_winsys_context *swc,
586 struct svga_winsys_gb_shader *gbshader,
587 SVGA3dShaderId shaderId,
588 SVGA3dShaderType type,
589 uint32 sizeInBytes);
590
591 enum pipe_error
592 SVGA3D_vgpu10_DefineStreamOutput(struct svga_winsys_context *swc,
593 SVGA3dStreamOutputId soid,
594 uint32 numOutputStreamEntries,
595 uint32 streamOutputStrideInBytes[SVGA3D_DX_MAX_SOTARGETS],
596 const SVGA3dStreamOutputDeclarationEntry decl[SVGA3D_MAX_STREAMOUT_DECLS]);
597
598 enum pipe_error
599 SVGA3D_vgpu10_DestroyStreamOutput(struct svga_winsys_context *swc,
600 SVGA3dStreamOutputId soid);
601
602 enum pipe_error
603 SVGA3D_vgpu10_ReadbackSubResource(struct svga_winsys_context *swc,
604 struct svga_winsys_surface *surface,
605 unsigned subResource);
606
607 enum pipe_error
608 SVGA3D_vgpu10_SetInputLayout(struct svga_winsys_context *swc,
609 SVGA3dElementLayoutId elementLayoutId);
610
611 enum pipe_error
612 SVGA3D_vgpu10_SetVertexBuffers(struct svga_winsys_context *swc,
613 unsigned count,
614 uint32 startBuffer,
615 const SVGA3dVertexBuffer *bufferInfo,
616 struct svga_winsys_surface **surfaces);
617
618 enum pipe_error
619 SVGA3D_vgpu10_SetTopology(struct svga_winsys_context *swc,
620 SVGA3dPrimitiveType topology);
621
622 enum pipe_error
623 SVGA3D_vgpu10_SetIndexBuffer(struct svga_winsys_context *swc,
624 struct svga_winsys_surface *indexes,
625 SVGA3dSurfaceFormat format, uint32 offset);
626
627 enum pipe_error
628 SVGA3D_vgpu10_SetSingleConstantBuffer(struct svga_winsys_context *swc,
629 unsigned slot,
630 SVGA3dShaderType type,
631 struct svga_winsys_surface *surface,
632 uint32 offsetInBytes,
633 uint32 sizeInBytes);
634
635 enum pipe_error
636 SVGA3D_vgpu10_UpdateSubResource(struct svga_winsys_context *swc,
637 struct svga_winsys_surface *surface,
638 const SVGA3dBox *box,
639 unsigned subResource);
640
641 enum pipe_error
642 SVGA3D_vgpu10_GenMips(struct svga_winsys_context *swc,
643 const SVGA3dShaderResourceViewId shaderResourceViewId,
644 struct svga_winsys_surface *view);
645
646 enum pipe_error
647 SVGA3D_vgpu10_BufferCopy(struct svga_winsys_context *swc,
648 struct svga_winsys_surface *src,
649 struct svga_winsys_surface *dst,
650 unsigned srcx, unsigned dstx, unsigned width);
651 #endif /* __SVGA3D_H__ */