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