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