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