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