blob: a0e12a26ae1efea067324268bdbf260cfbc4a742 [file] [log] [blame]
Chia-I Wu30c78292014-08-04 10:08:08 +08001/*
2 * XGL
3 *
4 * Copyright (C) 2014 LunarG, Inc.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25#include "icd.h"
Chia-I Wua207aba2014-08-05 15:13:37 +080026#include "dev.h"
Chia-I Wubdf4c562014-08-07 06:36:33 +080027#include "fence.h"
Chia-I Wubec90a02014-08-06 12:33:03 +080028#include "gpu.h"
Chia-I Wuf9911eb2014-08-06 13:50:31 +080029#include "mem.h"
Chia-I Wu53fc6aa2014-08-06 14:22:51 +080030#include "obj.h"
Chia-I Wue09b5362014-08-07 09:25:14 +080031#include "queue.h"
Chia-I Wubec90a02014-08-06 12:33:03 +080032#include "dispatch_tables.h"
Chia-I Wu30c78292014-08-04 10:08:08 +080033
Chia-I Wu30c78292014-08-04 10:08:08 +080034static XGL_RESULT XGLAPI intelQueueSubmit(
35 XGL_QUEUE queue,
36 XGL_UINT cmdBufferCount,
37 const XGL_CMD_BUFFER* pCmdBuffers,
38 XGL_UINT memRefCount,
39 const XGL_MEMORY_REF* pMemRefs,
40 XGL_FENCE fence)
41{
42 return XGL_ERROR_UNAVAILABLE;
43}
44
Chia-I Wu30c78292014-08-04 10:08:08 +080045static XGL_RESULT XGLAPI intelPinSystemMemory(
46 XGL_DEVICE device,
47 const XGL_VOID* pSysMem,
48 XGL_SIZE memSize,
49 XGL_GPU_MEMORY* pMem)
50{
51 return XGL_ERROR_UNAVAILABLE;
52}
53
54static XGL_RESULT XGLAPI intelRemapVirtualMemoryPages(
55 XGL_DEVICE device,
56 XGL_UINT rangeCount,
57 const XGL_VIRTUAL_MEMORY_REMAP_RANGE* pRanges,
58 XGL_UINT preWaitSemaphoreCount,
59 const XGL_QUEUE_SEMAPHORE* pPreWaitSemaphores,
60 XGL_UINT postSignalSemaphoreCount,
61 const XGL_QUEUE_SEMAPHORE* pPostSignalSemaphores)
62{
63 return XGL_ERROR_UNAVAILABLE;
64}
65
66static XGL_RESULT XGLAPI intelGetMultiGpuCompatibility(
67 XGL_PHYSICAL_GPU gpu0,
68 XGL_PHYSICAL_GPU gpu1,
69 XGL_GPU_COMPATIBILITY_INFO* pInfo)
70{
71 return XGL_ERROR_UNAVAILABLE;
72}
73
74static XGL_RESULT XGLAPI intelOpenSharedMemory(
75 XGL_DEVICE device,
76 const XGL_MEMORY_OPEN_INFO* pOpenInfo,
77 XGL_GPU_MEMORY* pMem)
78{
79 return XGL_ERROR_UNAVAILABLE;
80}
81
82static XGL_RESULT XGLAPI intelOpenSharedQueueSemaphore(
83 XGL_DEVICE device,
84 const XGL_QUEUE_SEMAPHORE_OPEN_INFO* pOpenInfo,
85 XGL_QUEUE_SEMAPHORE* pSemaphore)
86{
87 return XGL_ERROR_UNAVAILABLE;
88}
89
90static XGL_RESULT XGLAPI intelOpenPeerMemory(
91 XGL_DEVICE device,
92 const XGL_PEER_MEMORY_OPEN_INFO* pOpenInfo,
93 XGL_GPU_MEMORY* pMem)
94{
95 return XGL_ERROR_UNAVAILABLE;
96}
97
98static XGL_RESULT XGLAPI intelOpenPeerImage(
99 XGL_DEVICE device,
100 const XGL_PEER_IMAGE_OPEN_INFO* pOpenInfo,
101 XGL_IMAGE* pImage,
102 XGL_GPU_MEMORY* pMem)
103{
104 return XGL_ERROR_UNAVAILABLE;
105}
106
Chia-I Wu30c78292014-08-04 10:08:08 +0800107static XGL_RESULT XGLAPI intelCreateQueueSemaphore(
108 XGL_DEVICE device,
109 const XGL_QUEUE_SEMAPHORE_CREATE_INFO* pCreateInfo,
110 XGL_QUEUE_SEMAPHORE* pSemaphore)
111{
Chia-I Wu6af76d32014-08-07 07:41:16 +0800112
113 /*
114 * We want to find an unused semaphore register and initialize it. Signal
115 * will increment the register. Wait will atomically decrement it and
116 * block if the value is zero, or a large constant N if we do not want to
117 * go negative.
118 *
119 * XXX However, MI_SEMAPHORE_MBOX does not seem to have the flexibility.
120 */
Chia-I Wu30c78292014-08-04 10:08:08 +0800121 return XGL_ERROR_UNAVAILABLE;
122}
123
124static XGL_RESULT XGLAPI intelSignalQueueSemaphore(
125 XGL_QUEUE queue,
126 XGL_QUEUE_SEMAPHORE semaphore)
127{
128 return XGL_ERROR_UNAVAILABLE;
129}
130
131static XGL_RESULT XGLAPI intelWaitQueueSemaphore(
132 XGL_QUEUE queue,
133 XGL_QUEUE_SEMAPHORE semaphore)
134{
135 return XGL_ERROR_UNAVAILABLE;
136}
137
138static XGL_RESULT XGLAPI intelCreateEvent(
139 XGL_DEVICE device,
140 const XGL_EVENT_CREATE_INFO* pCreateInfo,
141 XGL_EVENT* pEvent)
142{
143 return XGL_ERROR_UNAVAILABLE;
144}
145
146static XGL_RESULT XGLAPI intelGetEventStatus(
147 XGL_EVENT event)
148{
149 return XGL_ERROR_UNAVAILABLE;
150}
151
152static XGL_RESULT XGLAPI intelSetEvent(
153 XGL_EVENT event)
154{
155 return XGL_ERROR_UNAVAILABLE;
156}
157
158static XGL_RESULT XGLAPI intelResetEvent(
159 XGL_EVENT event)
160{
161 return XGL_ERROR_UNAVAILABLE;
162}
163
164static XGL_RESULT XGLAPI intelCreateQueryPool(
165 XGL_DEVICE device,
166 const XGL_QUERY_POOL_CREATE_INFO* pCreateInfo,
167 XGL_QUERY_POOL* pQueryPool)
168{
169 return XGL_ERROR_UNAVAILABLE;
170}
171
172static XGL_RESULT XGLAPI intelGetQueryPoolResults(
173 XGL_QUERY_POOL queryPool,
174 XGL_UINT startQuery,
175 XGL_UINT queryCount,
176 XGL_SIZE* pDataSize,
177 XGL_VOID* pData)
178{
179 return XGL_ERROR_UNAVAILABLE;
180}
181
182static XGL_RESULT XGLAPI intelGetFormatInfo(
183 XGL_DEVICE device,
184 XGL_FORMAT format,
185 XGL_FORMAT_INFO_TYPE infoType,
186 XGL_SIZE* pDataSize,
187 XGL_VOID* pData)
188{
189 return XGL_ERROR_UNAVAILABLE;
190}
191
192static XGL_RESULT XGLAPI intelCreateImage(
193 XGL_DEVICE device,
194 const XGL_IMAGE_CREATE_INFO* pCreateInfo,
195 XGL_IMAGE* pImage)
196{
197 return XGL_ERROR_UNAVAILABLE;
198}
199
200static XGL_RESULT XGLAPI intelGetImageSubresourceInfo(
201 XGL_IMAGE image,
202 const XGL_IMAGE_SUBRESOURCE* pSubresource,
203 XGL_SUBRESOURCE_INFO_TYPE infoType,
204 XGL_SIZE* pDataSize,
205 XGL_VOID* pData)
206{
207 return XGL_ERROR_UNAVAILABLE;
208}
209
210static XGL_RESULT XGLAPI intelCreateImageView(
211 XGL_DEVICE device,
212 const XGL_IMAGE_VIEW_CREATE_INFO* pCreateInfo,
213 XGL_IMAGE_VIEW* pView)
214{
215 return XGL_ERROR_UNAVAILABLE;
216}
217
218static XGL_RESULT XGLAPI intelCreateColorAttachmentView(
219 XGL_DEVICE device,
220 const XGL_COLOR_ATTACHMENT_VIEW_CREATE_INFO* pCreateInfo,
221 XGL_COLOR_ATTACHMENT_VIEW* pView)
222{
223 return XGL_ERROR_UNAVAILABLE;
224}
225
226static XGL_RESULT XGLAPI intelCreateDepthStencilView(
227 XGL_DEVICE device,
228 const XGL_DEPTH_STENCIL_VIEW_CREATE_INFO* pCreateInfo,
229 XGL_DEPTH_STENCIL_VIEW* pView)
230{
231 return XGL_ERROR_UNAVAILABLE;
232}
233
234static XGL_RESULT XGLAPI intelCreateShader(
235 XGL_DEVICE device,
236 const XGL_SHADER_CREATE_INFO* pCreateInfo,
237 XGL_SHADER* pShader)
238{
239 return XGL_ERROR_UNAVAILABLE;
240}
241
242static XGL_RESULT XGLAPI intelCreateGraphicsPipeline(
243 XGL_DEVICE device,
244 const XGL_GRAPHICS_PIPELINE_CREATE_INFO* pCreateInfo,
245 XGL_PIPELINE* pPipeline)
246{
247 return XGL_ERROR_UNAVAILABLE;
248}
249
250static XGL_RESULT XGLAPI intelCreateComputePipeline(
251 XGL_DEVICE device,
252 const XGL_COMPUTE_PIPELINE_CREATE_INFO* pCreateInfo,
253 XGL_PIPELINE* pPipeline)
254{
255 return XGL_ERROR_UNAVAILABLE;
256}
257
258static XGL_RESULT XGLAPI intelStorePipeline(
259 XGL_PIPELINE pipeline,
260 XGL_SIZE* pDataSize,
261 XGL_VOID* pData)
262{
263 return XGL_ERROR_UNAVAILABLE;
264}
265
266static XGL_RESULT XGLAPI intelLoadPipeline(
267 XGL_DEVICE device,
268 XGL_SIZE dataSize,
269 const XGL_VOID* pData,
270 XGL_PIPELINE* pPipeline)
271{
272 return XGL_ERROR_UNAVAILABLE;
273}
274
275static XGL_RESULT XGLAPI intelCreatePipelineDelta(
276 XGL_DEVICE device,
277 XGL_PIPELINE p1,
278 XGL_PIPELINE p2,
279 XGL_PIPELINE_DELTA* delta)
280{
281 return XGL_ERROR_UNAVAILABLE;
282}
283
284static XGL_RESULT XGLAPI intelCreateSampler(
285 XGL_DEVICE device,
286 const XGL_SAMPLER_CREATE_INFO* pCreateInfo,
287 XGL_SAMPLER* pSampler)
288{
289 return XGL_ERROR_UNAVAILABLE;
290}
291
292static XGL_RESULT XGLAPI intelCreateDescriptorSet(
293 XGL_DEVICE device,
294 const XGL_DESCRIPTOR_SET_CREATE_INFO* pCreateInfo,
295 XGL_DESCRIPTOR_SET* pDescriptorSet)
296{
297 return XGL_ERROR_UNAVAILABLE;
298}
299
300static XGL_VOID XGLAPI intelBeginDescriptorSetUpdate(
301 XGL_DESCRIPTOR_SET descriptorSet)
302{
303}
304
305static XGL_VOID XGLAPI intelEndDescriptorSetUpdate(
306 XGL_DESCRIPTOR_SET descriptorSet)
307{
308}
309
310static XGL_VOID XGLAPI intelAttachSamplerDescriptors(
311 XGL_DESCRIPTOR_SET descriptorSet,
312 XGL_UINT startSlot,
313 XGL_UINT slotCount,
314 const XGL_SAMPLER* pSamplers)
315{
316}
317
318static XGL_VOID XGLAPI intelAttachImageViewDescriptors(
319 XGL_DESCRIPTOR_SET descriptorSet,
320 XGL_UINT startSlot,
321 XGL_UINT slotCount,
322 const XGL_IMAGE_VIEW_ATTACH_INFO* pImageViews)
323{
324}
325
326static XGL_VOID XGLAPI intelAttachMemoryViewDescriptors(
327 XGL_DESCRIPTOR_SET descriptorSet,
328 XGL_UINT startSlot,
329 XGL_UINT slotCount,
330 const XGL_MEMORY_VIEW_ATTACH_INFO* pMemViews)
331{
332}
333
334static XGL_VOID XGLAPI intelAttachNestedDescriptors(
335 XGL_DESCRIPTOR_SET descriptorSet,
336 XGL_UINT startSlot,
337 XGL_UINT slotCount,
338 const XGL_DESCRIPTOR_SET_ATTACH_INFO* pNestedDescriptorSets)
339{
340}
341
342static XGL_VOID XGLAPI intelClearDescriptorSetSlots(
343 XGL_DESCRIPTOR_SET descriptorSet,
344 XGL_UINT startSlot,
345 XGL_UINT slotCount)
346{
347}
348
349static XGL_RESULT XGLAPI intelCreateViewportState(
350 XGL_DEVICE device,
351 const XGL_VIEWPORT_STATE_CREATE_INFO* pCreateInfo,
352 XGL_VIEWPORT_STATE_OBJECT* pState)
353{
354 return XGL_ERROR_UNAVAILABLE;
355}
356
357static XGL_RESULT XGLAPI intelCreateRasterState(
358 XGL_DEVICE device,
359 const XGL_RASTER_STATE_CREATE_INFO* pCreateInfo,
360 XGL_RASTER_STATE_OBJECT* pState)
361{
362 return XGL_ERROR_UNAVAILABLE;
363}
364
365static XGL_RESULT XGLAPI intelCreateMsaaState(
366 XGL_DEVICE device,
367 const XGL_MSAA_STATE_CREATE_INFO* pCreateInfo,
368 XGL_MSAA_STATE_OBJECT* pState)
369{
370 return XGL_ERROR_UNAVAILABLE;
371}
372
373static XGL_RESULT XGLAPI intelCreateColorBlendState(
374 XGL_DEVICE device,
375 const XGL_COLOR_BLEND_STATE_CREATE_INFO* pCreateInfo,
376 XGL_COLOR_BLEND_STATE_OBJECT* pState)
377{
378 return XGL_ERROR_UNAVAILABLE;
379}
380
381static XGL_RESULT XGLAPI intelCreateDepthStencilState(
382 XGL_DEVICE device,
383 const XGL_DEPTH_STENCIL_STATE_CREATE_INFO* pCreateInfo,
384 XGL_DEPTH_STENCIL_STATE_OBJECT* pState)
385{
386 return XGL_ERROR_UNAVAILABLE;
387}
388
389static XGL_RESULT XGLAPI intelCreateCommandBuffer(
390 XGL_DEVICE device,
391 const XGL_CMD_BUFFER_CREATE_INFO* pCreateInfo,
392 XGL_CMD_BUFFER* pCmdBuffer)
393{
394 return XGL_ERROR_UNAVAILABLE;
395}
396
397static XGL_RESULT XGLAPI intelBeginCommandBuffer(
398 XGL_CMD_BUFFER cmdBuffer,
399 XGL_FLAGS flags)
400{
401 return XGL_ERROR_UNAVAILABLE;
402}
403
404static XGL_RESULT XGLAPI intelEndCommandBuffer(
405 XGL_CMD_BUFFER cmdBuffer)
406{
407 return XGL_ERROR_UNAVAILABLE;
408}
409
410static XGL_RESULT XGLAPI intelResetCommandBuffer(
411 XGL_CMD_BUFFER cmdBuffer)
412{
413 return XGL_ERROR_UNAVAILABLE;
414}
415
416static XGL_VOID XGLAPI intelCmdBindPipeline(
417 XGL_CMD_BUFFER cmdBuffer,
418 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
419 XGL_PIPELINE pipeline)
420{
421}
422
423static XGL_VOID XGLAPI intelCmdBindPipelineDelta(
424 XGL_CMD_BUFFER cmdBuffer,
425 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
426 XGL_PIPELINE_DELTA delta)
427{
428}
429
430static XGL_VOID XGLAPI intelCmdBindStateObject(
431 XGL_CMD_BUFFER cmdBuffer,
432 XGL_STATE_BIND_POINT stateBindPoint,
433 XGL_STATE_OBJECT state)
434{
435}
436
437static XGL_VOID XGLAPI intelCmdBindDescriptorSet(
438 XGL_CMD_BUFFER cmdBuffer,
439 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
440 XGL_UINT index,
441 XGL_DESCRIPTOR_SET descriptorSet,
442 XGL_UINT slotOffset)
443{
444}
445
446static XGL_VOID XGLAPI intelCmdBindDynamicMemoryView(
447 XGL_CMD_BUFFER cmdBuffer,
448 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
449 const XGL_MEMORY_VIEW_ATTACH_INFO* pMemView)
450{
451}
452
453static XGL_VOID XGLAPI intelCmdBindIndexData(
454 XGL_CMD_BUFFER cmdBuffer,
455 XGL_GPU_MEMORY mem,
456 XGL_GPU_SIZE offset,
457 XGL_INDEX_TYPE indexType)
458{
459}
460
461static XGL_VOID XGLAPI intelCmdBindAttachments(
462 XGL_CMD_BUFFER cmdBuffer,
463 XGL_UINT colorAttachmentCount,
464 const XGL_COLOR_ATTACHMENT_BIND_INFO* pColorAttachments,
465 const XGL_DEPTH_STENCIL_BIND_INFO* pDepthStencilAttachment)
466{
467}
468
469static XGL_VOID XGLAPI intelCmdPrepareMemoryRegions(
470 XGL_CMD_BUFFER cmdBuffer,
471 XGL_UINT transitionCount,
472 const XGL_MEMORY_STATE_TRANSITION* pStateTransitions)
473{
474}
475
476static XGL_VOID XGLAPI intelCmdPrepareImages(
477 XGL_CMD_BUFFER cmdBuffer,
478 XGL_UINT transitionCount,
479 const XGL_IMAGE_STATE_TRANSITION* pStateTransitions)
480{
481}
482
483static XGL_VOID XGLAPI intelCmdDraw(
484 XGL_CMD_BUFFER cmdBuffer,
485 XGL_UINT firstVertex,
486 XGL_UINT vertexCount,
487 XGL_UINT firstInstance,
488 XGL_UINT instanceCount)
489{
490}
491
492static XGL_VOID XGLAPI intelCmdDrawIndexed(
493 XGL_CMD_BUFFER cmdBuffer,
494 XGL_UINT firstIndex,
495 XGL_UINT indexCount,
496 XGL_INT vertexOffset,
497 XGL_UINT firstInstance,
498 XGL_UINT instanceCount)
499{
500}
501
502static XGL_VOID XGLAPI intelCmdDrawIndirect(
503 XGL_CMD_BUFFER cmdBuffer,
504 XGL_GPU_MEMORY mem,
505 XGL_GPU_SIZE offset,
506 XGL_UINT32 count,
507 XGL_UINT32 stride)
508{
509}
510
511static XGL_VOID XGLAPI intelCmdDrawIndexedIndirect(
512 XGL_CMD_BUFFER cmdBuffer,
513 XGL_GPU_MEMORY mem,
514 XGL_GPU_SIZE offset,
515 XGL_UINT32 count,
516 XGL_UINT32 stride)
517{
518}
519
520static XGL_VOID XGLAPI intelCmdDispatch(
521 XGL_CMD_BUFFER cmdBuffer,
522 XGL_UINT x,
523 XGL_UINT y,
524 XGL_UINT z)
525{
526}
527
528static XGL_VOID XGLAPI intelCmdDispatchIndirect(
529 XGL_CMD_BUFFER cmdBuffer,
530 XGL_GPU_MEMORY mem,
531 XGL_GPU_SIZE offset)
532{
533}
534
535static XGL_VOID XGLAPI intelCmdCopyMemory(
536 XGL_CMD_BUFFER cmdBuffer,
537 XGL_GPU_MEMORY srcMem,
538 XGL_GPU_MEMORY destMem,
539 XGL_UINT regionCount,
540 const XGL_MEMORY_COPY* pRegions)
541{
542}
543
544static XGL_VOID XGLAPI intelCmdCopyImage(
545 XGL_CMD_BUFFER cmdBuffer,
546 XGL_IMAGE srcImage,
547 XGL_IMAGE destImage,
548 XGL_UINT regionCount,
549 const XGL_IMAGE_COPY* pRegions)
550{
551}
552
553static XGL_VOID XGLAPI intelCmdCopyMemoryToImage(
554 XGL_CMD_BUFFER cmdBuffer,
555 XGL_GPU_MEMORY srcMem,
556 XGL_IMAGE destImage,
557 XGL_UINT regionCount,
558 const XGL_MEMORY_IMAGE_COPY* pRegions)
559{
560}
561
562static XGL_VOID XGLAPI intelCmdCopyImageToMemory(
563 XGL_CMD_BUFFER cmdBuffer,
564 XGL_IMAGE srcImage,
565 XGL_GPU_MEMORY destMem,
566 XGL_UINT regionCount,
567 const XGL_MEMORY_IMAGE_COPY* pRegions)
568{
569}
570
571static XGL_VOID XGLAPI intelCmdCloneImageData(
572 XGL_CMD_BUFFER cmdBuffer,
573 XGL_IMAGE srcImage,
574 XGL_IMAGE_STATE srcImageState,
575 XGL_IMAGE destImage,
576 XGL_IMAGE_STATE destImageState)
577{
578}
579
580static XGL_VOID XGLAPI intelCmdUpdateMemory(
581 XGL_CMD_BUFFER cmdBuffer,
582 XGL_GPU_MEMORY destMem,
583 XGL_GPU_SIZE destOffset,
584 XGL_GPU_SIZE dataSize,
585 const XGL_UINT32* pData)
586{
587}
588
589static XGL_VOID XGLAPI intelCmdFillMemory(
590 XGL_CMD_BUFFER cmdBuffer,
591 XGL_GPU_MEMORY destMem,
592 XGL_GPU_SIZE destOffset,
593 XGL_GPU_SIZE fillSize,
594 XGL_UINT32 data)
595{
596}
597
598static XGL_VOID XGLAPI intelCmdClearColorImage(
599 XGL_CMD_BUFFER cmdBuffer,
600 XGL_IMAGE image,
601 const XGL_FLOAT color[4],
602 XGL_UINT rangeCount,
603 const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges)
604{
605}
606
607static XGL_VOID XGLAPI intelCmdClearColorImageRaw(
608 XGL_CMD_BUFFER cmdBuffer,
609 XGL_IMAGE image,
610 const XGL_UINT32 color[4],
611 XGL_UINT rangeCount,
612 const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges)
613{
614}
615
616static XGL_VOID XGLAPI intelCmdClearDepthStencil(
617 XGL_CMD_BUFFER cmdBuffer,
618 XGL_IMAGE image,
619 XGL_FLOAT depth,
620 XGL_UINT32 stencil,
621 XGL_UINT rangeCount,
622 const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges)
623{
624}
625
626static XGL_VOID XGLAPI intelCmdResolveImage(
627 XGL_CMD_BUFFER cmdBuffer,
628 XGL_IMAGE srcImage,
629 XGL_IMAGE destImage,
630 XGL_UINT rectCount,
631 const XGL_IMAGE_RESOLVE* pRects)
632{
633}
634
635static XGL_VOID XGLAPI intelCmdSetEvent(
636 XGL_CMD_BUFFER cmdBuffer,
637 XGL_EVENT event)
638{
639}
640
641static XGL_VOID XGLAPI intelCmdResetEvent(
642 XGL_CMD_BUFFER cmdBuffer,
643 XGL_EVENT event)
644{
645}
646
647static XGL_VOID XGLAPI intelCmdMemoryAtomic(
648 XGL_CMD_BUFFER cmdBuffer,
649 XGL_GPU_MEMORY destMem,
650 XGL_GPU_SIZE destOffset,
651 XGL_UINT64 srcData,
652 XGL_ATOMIC_OP atomicOp)
653{
654}
655
656static XGL_VOID XGLAPI intelCmdBeginQuery(
657 XGL_CMD_BUFFER cmdBuffer,
658 XGL_QUERY_POOL queryPool,
659 XGL_UINT slot,
660 XGL_FLAGS flags)
661{
662}
663
664static XGL_VOID XGLAPI intelCmdEndQuery(
665 XGL_CMD_BUFFER cmdBuffer,
666 XGL_QUERY_POOL queryPool,
667 XGL_UINT slot)
668{
669}
670
671static XGL_VOID XGLAPI intelCmdResetQueryPool(
672 XGL_CMD_BUFFER cmdBuffer,
673 XGL_QUERY_POOL queryPool,
674 XGL_UINT startQuery,
675 XGL_UINT queryCount)
676{
677}
678
679static XGL_VOID XGLAPI intelCmdWriteTimestamp(
680 XGL_CMD_BUFFER cmdBuffer,
681 XGL_TIMESTAMP_TYPE timestampType,
682 XGL_GPU_MEMORY destMem,
683 XGL_GPU_SIZE destOffset)
684{
685}
686
687static XGL_VOID XGLAPI intelCmdInitAtomicCounters(
688 XGL_CMD_BUFFER cmdBuffer,
689 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
690 XGL_UINT startCounter,
691 XGL_UINT counterCount,
692 const XGL_UINT32* pData)
693{
694}
695
696static XGL_VOID XGLAPI intelCmdLoadAtomicCounters(
697 XGL_CMD_BUFFER cmdBuffer,
698 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
699 XGL_UINT startCounter,
700 XGL_UINT counterCount,
701 XGL_GPU_MEMORY srcMem,
702 XGL_GPU_SIZE srcOffset)
703{
704}
705
706static XGL_VOID XGLAPI intelCmdSaveAtomicCounters(
707 XGL_CMD_BUFFER cmdBuffer,
708 XGL_PIPELINE_BIND_POINT pipelineBindPoint,
709 XGL_UINT startCounter,
710 XGL_UINT counterCount,
711 XGL_GPU_MEMORY destMem,
712 XGL_GPU_SIZE destOffset)
713{
714}
715
716static XGL_RESULT XGLAPI intelDbgSetValidationLevel(
717 XGL_DEVICE device,
718 XGL_VALIDATION_LEVEL validationLevel)
719{
720 return XGL_ERROR_UNAVAILABLE;
721}
722
723static XGL_RESULT XGLAPI intelDbgSetMessageFilter(
724 XGL_DEVICE device,
725 XGL_INT msgCode,
726 XGL_DBG_MSG_FILTER filter)
727{
728 return XGL_ERROR_UNAVAILABLE;
729}
730
731static XGL_RESULT XGLAPI intelDbgSetObjectTag(
732 XGL_BASE_OBJECT object,
733 XGL_SIZE tagSize,
734 const XGL_VOID* pTag)
735{
736 return XGL_ERROR_UNAVAILABLE;
737}
738
739static XGL_RESULT XGLAPI intelDbgSetDeviceOption(
740 XGL_DEVICE device,
741 XGL_DBG_DEVICE_OPTION dbgOption,
742 XGL_SIZE dataSize,
743 const XGL_VOID* pData)
744{
745 return XGL_ERROR_UNAVAILABLE;
746}
747
748static XGL_VOID XGLAPI intelCmdDbgMarkerBegin(
749 XGL_CMD_BUFFER cmdBuffer,
750 const XGL_CHAR* pMarker)
751{
752}
753
754static XGL_VOID XGLAPI intelCmdDbgMarkerEnd(
755 XGL_CMD_BUFFER cmdBuffer)
756{
757}
758
759const struct icd_dispatch_table intel_normal_dispatch_table = {
760 .InitAndEnumerateGpus = xglInitAndEnumerateGpus,
761 .GetGpuInfo = intelGetGpuInfo,
762 .CreateDevice = intelCreateDevice,
763 .DestroyDevice = intelDestroyDevice,
764 .GetExtensionSupport = intelGetExtensionSupport,
765 .GetDeviceQueue = intelGetDeviceQueue,
766 .QueueSubmit = intelQueueSubmit,
767 .QueueSetGlobalMemReferences = intelQueueSetGlobalMemReferences,
768 .QueueWaitIdle = intelQueueWaitIdle,
769 .DeviceWaitIdle = intelDeviceWaitIdle,
770 .GetMemoryHeapCount = intelGetMemoryHeapCount,
771 .GetMemoryHeapInfo = intelGetMemoryHeapInfo,
772 .AllocMemory = intelAllocMemory,
773 .FreeMemory = intelFreeMemory,
774 .SetMemoryPriority = intelSetMemoryPriority,
775 .MapMemory = intelMapMemory,
776 .UnmapMemory = intelUnmapMemory,
777 .PinSystemMemory = intelPinSystemMemory,
778 .RemapVirtualMemoryPages = intelRemapVirtualMemoryPages,
779 .GetMultiGpuCompatibility = intelGetMultiGpuCompatibility,
780 .OpenSharedMemory = intelOpenSharedMemory,
781 .OpenSharedQueueSemaphore = intelOpenSharedQueueSemaphore,
782 .OpenPeerMemory = intelOpenPeerMemory,
783 .OpenPeerImage = intelOpenPeerImage,
784 .DestroyObject = intelDestroyObject,
785 .GetObjectInfo = intelGetObjectInfo,
786 .BindObjectMemory = intelBindObjectMemory,
787 .CreateFence = intelCreateFence,
788 .GetFenceStatus = intelGetFenceStatus,
789 .WaitForFences = intelWaitForFences,
790 .CreateQueueSemaphore = intelCreateQueueSemaphore,
791 .SignalQueueSemaphore = intelSignalQueueSemaphore,
792 .WaitQueueSemaphore = intelWaitQueueSemaphore,
793 .CreateEvent = intelCreateEvent,
794 .GetEventStatus = intelGetEventStatus,
795 .SetEvent = intelSetEvent,
796 .ResetEvent = intelResetEvent,
797 .CreateQueryPool = intelCreateQueryPool,
798 .GetQueryPoolResults = intelGetQueryPoolResults,
799 .GetFormatInfo = intelGetFormatInfo,
800 .CreateImage = intelCreateImage,
801 .GetImageSubresourceInfo = intelGetImageSubresourceInfo,
802 .CreateImageView = intelCreateImageView,
803 .CreateColorAttachmentView = intelCreateColorAttachmentView,
804 .CreateDepthStencilView = intelCreateDepthStencilView,
805 .CreateShader = intelCreateShader,
806 .CreateGraphicsPipeline = intelCreateGraphicsPipeline,
807 .CreateComputePipeline = intelCreateComputePipeline,
808 .StorePipeline = intelStorePipeline,
809 .LoadPipeline = intelLoadPipeline,
810 .CreatePipelineDelta = intelCreatePipelineDelta,
811 .CreateSampler = intelCreateSampler,
812 .CreateDescriptorSet = intelCreateDescriptorSet,
813 .BeginDescriptorSetUpdate = intelBeginDescriptorSetUpdate,
814 .EndDescriptorSetUpdate = intelEndDescriptorSetUpdate,
815 .AttachSamplerDescriptors = intelAttachSamplerDescriptors,
816 .AttachImageViewDescriptors = intelAttachImageViewDescriptors,
817 .AttachMemoryViewDescriptors = intelAttachMemoryViewDescriptors,
818 .AttachNestedDescriptors = intelAttachNestedDescriptors,
819 .ClearDescriptorSetSlots = intelClearDescriptorSetSlots,
820 .CreateViewportState = intelCreateViewportState,
821 .CreateRasterState = intelCreateRasterState,
822 .CreateMsaaState = intelCreateMsaaState,
823 .CreateColorBlendState = intelCreateColorBlendState,
824 .CreateDepthStencilState = intelCreateDepthStencilState,
825 .CreateCommandBuffer = intelCreateCommandBuffer,
826 .BeginCommandBuffer = intelBeginCommandBuffer,
827 .EndCommandBuffer = intelEndCommandBuffer,
828 .ResetCommandBuffer = intelResetCommandBuffer,
829 .CmdBindPipeline = intelCmdBindPipeline,
830 .CmdBindPipelineDelta = intelCmdBindPipelineDelta,
831 .CmdBindStateObject = intelCmdBindStateObject,
832 .CmdBindDescriptorSet = intelCmdBindDescriptorSet,
833 .CmdBindDynamicMemoryView = intelCmdBindDynamicMemoryView,
834 .CmdBindIndexData = intelCmdBindIndexData,
835 .CmdBindAttachments = intelCmdBindAttachments,
836 .CmdPrepareMemoryRegions = intelCmdPrepareMemoryRegions,
837 .CmdPrepareImages = intelCmdPrepareImages,
838 .CmdDraw = intelCmdDraw,
839 .CmdDrawIndexed = intelCmdDrawIndexed,
840 .CmdDrawIndirect = intelCmdDrawIndirect,
841 .CmdDrawIndexedIndirect = intelCmdDrawIndexedIndirect,
842 .CmdDispatch = intelCmdDispatch,
843 .CmdDispatchIndirect = intelCmdDispatchIndirect,
844 .CmdCopyMemory = intelCmdCopyMemory,
845 .CmdCopyImage = intelCmdCopyImage,
846 .CmdCopyMemoryToImage = intelCmdCopyMemoryToImage,
847 .CmdCopyImageToMemory = intelCmdCopyImageToMemory,
848 .CmdCloneImageData = intelCmdCloneImageData,
849 .CmdUpdateMemory = intelCmdUpdateMemory,
850 .CmdFillMemory = intelCmdFillMemory,
851 .CmdClearColorImage = intelCmdClearColorImage,
852 .CmdClearColorImageRaw = intelCmdClearColorImageRaw,
853 .CmdClearDepthStencil = intelCmdClearDepthStencil,
854 .CmdResolveImage = intelCmdResolveImage,
855 .CmdSetEvent = intelCmdSetEvent,
856 .CmdResetEvent = intelCmdResetEvent,
857 .CmdMemoryAtomic = intelCmdMemoryAtomic,
858 .CmdBeginQuery = intelCmdBeginQuery,
859 .CmdEndQuery = intelCmdEndQuery,
860 .CmdResetQueryPool = intelCmdResetQueryPool,
861 .CmdWriteTimestamp = intelCmdWriteTimestamp,
862 .CmdInitAtomicCounters = intelCmdInitAtomicCounters,
863 .CmdLoadAtomicCounters = intelCmdLoadAtomicCounters,
864 .CmdSaveAtomicCounters = intelCmdSaveAtomicCounters,
865 .DbgSetValidationLevel = intelDbgSetValidationLevel,
866 .DbgRegisterMsgCallback = xglDbgRegisterMsgCallback,
867 .DbgUnregisterMsgCallback = xglDbgUnregisterMsgCallback,
868 .DbgSetMessageFilter = intelDbgSetMessageFilter,
869 .DbgSetObjectTag = intelDbgSetObjectTag,
870 .DbgSetGlobalOption = xglDbgSetGlobalOption,
871 .DbgSetDeviceOption = intelDbgSetDeviceOption,
872 .CmdDbgMarkerBegin = intelCmdDbgMarkerBegin,
873 .CmdDbgMarkerEnd = intelCmdDbgMarkerEnd,
874};
875
876const struct icd_dispatch_table intel_debug_dispatch_table = {
877 .InitAndEnumerateGpus = xglInitAndEnumerateGpus,
878 .GetGpuInfo = intelGetGpuInfo,
879 .CreateDevice = intelCreateDevice,
880 .DestroyDevice = intelDestroyDevice,
881 .GetExtensionSupport = intelGetExtensionSupport,
882 .GetDeviceQueue = intelGetDeviceQueue,
883 .QueueSubmit = intelQueueSubmit,
884 .QueueSetGlobalMemReferences = intelQueueSetGlobalMemReferences,
885 .QueueWaitIdle = intelQueueWaitIdle,
886 .DeviceWaitIdle = intelDeviceWaitIdle,
887 .GetMemoryHeapCount = intelGetMemoryHeapCount,
888 .GetMemoryHeapInfo = intelGetMemoryHeapInfo,
889 .AllocMemory = intelAllocMemory,
890 .FreeMemory = intelFreeMemory,
891 .SetMemoryPriority = intelSetMemoryPriority,
892 .MapMemory = intelMapMemory,
893 .UnmapMemory = intelUnmapMemory,
894 .PinSystemMemory = intelPinSystemMemory,
895 .RemapVirtualMemoryPages = intelRemapVirtualMemoryPages,
896 .GetMultiGpuCompatibility = intelGetMultiGpuCompatibility,
897 .OpenSharedMemory = intelOpenSharedMemory,
898 .OpenSharedQueueSemaphore = intelOpenSharedQueueSemaphore,
899 .OpenPeerMemory = intelOpenPeerMemory,
900 .OpenPeerImage = intelOpenPeerImage,
901 .DestroyObject = intelDestroyObject,
902 .GetObjectInfo = intelGetObjectInfo,
903 .BindObjectMemory = intelBindObjectMemory,
904 .CreateFence = intelCreateFence,
905 .GetFenceStatus = intelGetFenceStatus,
906 .WaitForFences = intelWaitForFences,
907 .CreateQueueSemaphore = intelCreateQueueSemaphore,
908 .SignalQueueSemaphore = intelSignalQueueSemaphore,
909 .WaitQueueSemaphore = intelWaitQueueSemaphore,
910 .CreateEvent = intelCreateEvent,
911 .GetEventStatus = intelGetEventStatus,
912 .SetEvent = intelSetEvent,
913 .ResetEvent = intelResetEvent,
914 .CreateQueryPool = intelCreateQueryPool,
915 .GetQueryPoolResults = intelGetQueryPoolResults,
916 .GetFormatInfo = intelGetFormatInfo,
917 .CreateImage = intelCreateImage,
918 .GetImageSubresourceInfo = intelGetImageSubresourceInfo,
919 .CreateImageView = intelCreateImageView,
920 .CreateColorAttachmentView = intelCreateColorAttachmentView,
921 .CreateDepthStencilView = intelCreateDepthStencilView,
922 .CreateShader = intelCreateShader,
923 .CreateGraphicsPipeline = intelCreateGraphicsPipeline,
924 .CreateComputePipeline = intelCreateComputePipeline,
925 .StorePipeline = intelStorePipeline,
926 .LoadPipeline = intelLoadPipeline,
927 .CreatePipelineDelta = intelCreatePipelineDelta,
928 .CreateSampler = intelCreateSampler,
929 .CreateDescriptorSet = intelCreateDescriptorSet,
930 .BeginDescriptorSetUpdate = intelBeginDescriptorSetUpdate,
931 .EndDescriptorSetUpdate = intelEndDescriptorSetUpdate,
932 .AttachSamplerDescriptors = intelAttachSamplerDescriptors,
933 .AttachImageViewDescriptors = intelAttachImageViewDescriptors,
934 .AttachMemoryViewDescriptors = intelAttachMemoryViewDescriptors,
935 .AttachNestedDescriptors = intelAttachNestedDescriptors,
936 .ClearDescriptorSetSlots = intelClearDescriptorSetSlots,
937 .CreateViewportState = intelCreateViewportState,
938 .CreateRasterState = intelCreateRasterState,
939 .CreateMsaaState = intelCreateMsaaState,
940 .CreateColorBlendState = intelCreateColorBlendState,
941 .CreateDepthStencilState = intelCreateDepthStencilState,
942 .CreateCommandBuffer = intelCreateCommandBuffer,
943 .BeginCommandBuffer = intelBeginCommandBuffer,
944 .EndCommandBuffer = intelEndCommandBuffer,
945 .ResetCommandBuffer = intelResetCommandBuffer,
946 .CmdBindPipeline = intelCmdBindPipeline,
947 .CmdBindPipelineDelta = intelCmdBindPipelineDelta,
948 .CmdBindStateObject = intelCmdBindStateObject,
949 .CmdBindDescriptorSet = intelCmdBindDescriptorSet,
950 .CmdBindDynamicMemoryView = intelCmdBindDynamicMemoryView,
951 .CmdBindIndexData = intelCmdBindIndexData,
952 .CmdBindAttachments = intelCmdBindAttachments,
953 .CmdPrepareMemoryRegions = intelCmdPrepareMemoryRegions,
954 .CmdPrepareImages = intelCmdPrepareImages,
955 .CmdDraw = intelCmdDraw,
956 .CmdDrawIndexed = intelCmdDrawIndexed,
957 .CmdDrawIndirect = intelCmdDrawIndirect,
958 .CmdDrawIndexedIndirect = intelCmdDrawIndexedIndirect,
959 .CmdDispatch = intelCmdDispatch,
960 .CmdDispatchIndirect = intelCmdDispatchIndirect,
961 .CmdCopyMemory = intelCmdCopyMemory,
962 .CmdCopyImage = intelCmdCopyImage,
963 .CmdCopyMemoryToImage = intelCmdCopyMemoryToImage,
964 .CmdCopyImageToMemory = intelCmdCopyImageToMemory,
965 .CmdCloneImageData = intelCmdCloneImageData,
966 .CmdUpdateMemory = intelCmdUpdateMemory,
967 .CmdFillMemory = intelCmdFillMemory,
968 .CmdClearColorImage = intelCmdClearColorImage,
969 .CmdClearColorImageRaw = intelCmdClearColorImageRaw,
970 .CmdClearDepthStencil = intelCmdClearDepthStencil,
971 .CmdResolveImage = intelCmdResolveImage,
972 .CmdSetEvent = intelCmdSetEvent,
973 .CmdResetEvent = intelCmdResetEvent,
974 .CmdMemoryAtomic = intelCmdMemoryAtomic,
975 .CmdBeginQuery = intelCmdBeginQuery,
976 .CmdEndQuery = intelCmdEndQuery,
977 .CmdResetQueryPool = intelCmdResetQueryPool,
978 .CmdWriteTimestamp = intelCmdWriteTimestamp,
979 .CmdInitAtomicCounters = intelCmdInitAtomicCounters,
980 .CmdLoadAtomicCounters = intelCmdLoadAtomicCounters,
981 .CmdSaveAtomicCounters = intelCmdSaveAtomicCounters,
982 .DbgSetValidationLevel = intelDbgSetValidationLevel,
983 .DbgRegisterMsgCallback = xglDbgRegisterMsgCallback,
984 .DbgUnregisterMsgCallback = xglDbgUnregisterMsgCallback,
985 .DbgSetMessageFilter = intelDbgSetMessageFilter,
986 .DbgSetObjectTag = intelDbgSetObjectTag,
987 .DbgSetGlobalOption = xglDbgSetGlobalOption,
988 .DbgSetDeviceOption = intelDbgSetDeviceOption,
989 .CmdDbgMarkerBegin = intelCmdDbgMarkerBegin,
990 .CmdDbgMarkerEnd = intelCmdDbgMarkerEnd,
991};