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