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