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