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