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