diff options
| author | Chia-I Wu <olv@lunarg.com> | 2015-01-05 09:41:27 +0800 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-02-04 17:58:04 -0700 |
| commit | ee023efe211756e1ab0a09f319633e914f30d733 (patch) | |
| tree | 899e423f16472fafcda0feae9766071596584608 /layers/multi.cpp | |
| parent | 8e568797182cbf0e051ac17c21f702e54a2b90c5 (diff) | |
| download | usermoji-ee023efe211756e1ab0a09f319633e914f30d733.tar.xz | |
layers: simplify xglGetProcAddr() for Basic and Multi
Layers should only handle interested XGL entrypoints in their
xglGetProcAddr(), and chain to the next layer. Handling everything using the
cached results in pTable is not much faster.
There should be no functional difference with this change.
Diffstat (limited to 'layers/multi.cpp')
| -rw-r--r-- | layers/multi.cpp | 484 |
1 files changed, 10 insertions, 474 deletions
diff --git a/layers/multi.cpp b/layers/multi.cpp index 6d43ea07..b1aa6195 100644 --- a/layers/multi.cpp +++ b/layers/multi.cpp @@ -114,257 +114,25 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI multi1EnumerateLayers(XGL_PHYSICAL_GPU gpu, X XGL_LAYER_EXPORT XGL_VOID * XGLAPI multi1GetProcAddr(XGL_PHYSICAL_GPU gpu, const XGL_CHAR* pName) { XGL_BASE_LAYER_OBJECT* gpuw = (XGL_BASE_LAYER_OBJECT *) gpu; + if (gpu == NULL) return NULL; - XGL_LAYER_DISPATCH_TABLE* pTable; - pTable = getLayer1Table(gpuw); - if (!strncmp("xglInitAndEnumerateGpus", pName, sizeof("xglInitAndEnumerateGpus"))) - return (XGL_VOID *) pTable->InitAndEnumerateGpus; - else if (!strncmp("xglGetGpuInfo", pName, sizeof ("xglGetGpuInfo"))) - return (XGL_VOID *) pTable->GetGpuInfo; - else if (!strncmp("xglCreateDevice", pName, sizeof ("xglCreateDevice"))) + + getLayer1Table(gpuw); + + if (!strncmp("xglCreateDevice", pName, sizeof ("xglCreateDevice"))) return (XGL_VOID *) multi1CreateDevice; - else if (!strncmp("xglDestroyDevice", pName, sizeof ("xglDestroyDevice"))) - return (XGL_VOID *) pTable->DestroyDevice; - else if (!strncmp("xglGetExtensionSupport", pName, sizeof ("xglGetExtensionSupport"))) - return (XGL_VOID *) pTable->GetExtensionSupport; else if (!strncmp("xglEnumerateLayers", pName, sizeof ("xglEnumerateLayers"))) return (XGL_VOID *) multi1EnumerateLayers; - else if (!strncmp("xglGetDeviceQueue", pName, sizeof ("xglGetDeviceQueue"))) - return (XGL_VOID *) pTable->GetDeviceQueue; - else if (!strncmp("xglQueueSubmit", pName, sizeof ("xglQueueSubmit"))) - return (XGL_VOID *) pTable->QueueSubmit; - else if (!strncmp("xglQueueSetGlobalMemReferences", pName, sizeof ("xglQueueSetGlobalMemReferences"))) - return (XGL_VOID *) pTable->QueueSetGlobalMemReferences; - else if (!strncmp("xglQueueWaitIdle", pName, sizeof ("xglQueueWaitIdle"))) - return (XGL_VOID *) pTable->QueueWaitIdle; - else if (!strncmp("xglDeviceWaitIdle", pName, sizeof ("xglDeviceWaitIdle"))) - return (XGL_VOID *) pTable->DeviceWaitIdle; - else if (!strncmp("xglGetMemoryHeapCount", pName, sizeof ("xglGetMemoryHeapCount"))) - return (XGL_VOID *) pTable->GetMemoryHeapCount; - else if (!strncmp("xglGetMemoryHeapInfo", pName, sizeof ("xglGetMemoryHeapInfo"))) - return (XGL_VOID *) pTable->GetMemoryHeapInfo; - else if (!strncmp("xglAllocMemory", pName, sizeof ("xglAllocMemory"))) - return (XGL_VOID *) pTable->AllocMemory; - else if (!strncmp("xglFreeMemory", pName, sizeof ("xglFreeMemory"))) - return (XGL_VOID *) pTable->FreeMemory; - else if (!strncmp("xglSetMemoryPriority", pName, sizeof ("xglSetMemoryPriority"))) - return (XGL_VOID *) pTable->SetMemoryPriority; - else if (!strncmp("xglMapMemory", pName, sizeof ("xglMapMemory"))) - return (XGL_VOID *) pTable->MapMemory; - else if (!strncmp("xglUnmapMemory", pName, sizeof ("xglUnmapMemory"))) - return (XGL_VOID *) pTable->UnmapMemory; - else if (!strncmp("xglPinSystemMemory", pName, sizeof ("xglPinSystemMemory"))) - return (XGL_VOID *) pTable->PinSystemMemory; - else if (!strncmp("xglRemapVirtualMemoryPages", pName, sizeof ("xglRemapVirtualMemoryPages"))) - return (XGL_VOID *) pTable->RemapVirtualMemoryPages; - else if (!strncmp("xglGetMultiGpuCompatibility", pName, sizeof ("xglGetMultiGpuCompatibility"))) - return (XGL_VOID *) pTable->GetMultiGpuCompatibility; - else if (!strncmp("xglOpenSharedMemory", pName, sizeof ("xglOpenSharedMemory"))) - return (XGL_VOID *) pTable->OpenSharedMemory; - else if (!strncmp("xglOpenSharedQueueSemaphore", pName, sizeof ("xglOpenSharedQueueSemaphore"))) - return (XGL_VOID *) pTable->OpenSharedQueueSemaphore; - else if (!strncmp("xglOpenPeerMemory", pName, sizeof ("xglOpenPeerMemory"))) - return (XGL_VOID *) pTable->OpenPeerMemory; - else if (!strncmp("xglOpenPeerImage", pName, sizeof ("xglOpenPeerImage"))) - return (XGL_VOID *) pTable->OpenPeerImage; - else if (!strncmp("xglDestroyObject", pName, sizeof ("xglDestroyObject"))) - return (XGL_VOID *) pTable->DestroyObject; - else if (!strncmp("xglGetObjectInfo", pName, sizeof ("xglGetObjectInfo"))) - return (XGL_VOID *) pTable->GetObjectInfo; - else if (!strncmp("xglBindObjectMemory", pName, sizeof ("xglBindObjectMemory"))) - return (XGL_VOID *) pTable->BindObjectMemory; - else if (!strncmp("xglCreateFence", pName, sizeof ("xgllCreateFence"))) - return (XGL_VOID *) pTable->CreateFence; - else if (!strncmp("xglGetFenceStatus", pName, sizeof ("xglGetFenceStatus"))) - return (XGL_VOID *) pTable->GetFenceStatus; - else if (!strncmp("xglWaitForFences", pName, sizeof ("xglWaitForFences"))) - return (XGL_VOID *) pTable->WaitForFences; - else if (!strncmp("xglCreateQueueSemaphore", pName, sizeof ("xgllCreateQueueSemaphore"))) - return (XGL_VOID *) pTable->CreateQueueSemaphore; - else if (!strncmp("xglSignalQueueSemaphore", pName, sizeof ("xglSignalQueueSemaphore"))) - return (XGL_VOID *) pTable->SignalQueueSemaphore; - else if (!strncmp("xglWaitQueueSemaphore", pName, sizeof ("xglWaitQueueSemaphore"))) - return (XGL_VOID *) pTable->WaitQueueSemaphore; - else if (!strncmp("xglCreateEvent", pName, sizeof ("xgllCreateEvent"))) - return (XGL_VOID *) pTable->CreateEvent; - else if (!strncmp("xglGetEventStatus", pName, sizeof ("xglGetEventStatus"))) - return (XGL_VOID *) pTable->GetEventStatus; - else if (!strncmp("xglSetEvent", pName, sizeof ("xglSetEvent"))) - return (XGL_VOID *) pTable->SetEvent; - else if (!strncmp("xglResetEvent", pName, sizeof ("xgllResetEvent"))) - return (XGL_VOID *) pTable->ResetEvent; - else if (!strncmp("xglCreateQueryPool", pName, sizeof ("xglCreateQueryPool"))) - return (XGL_VOID *) pTable->CreateQueryPool; - else if (!strncmp("xglGetQueryPoolResults", pName, sizeof ("xglGetQueryPoolResults"))) - return (XGL_VOID *) pTable->GetQueryPoolResults; - else if (!strncmp("xglGetFormatInfo", pName, sizeof ("xglGetFormatInfo"))) - return (XGL_VOID *) pTable->GetFormatInfo; - else if (!strncmp("xglCreateImage", pName, sizeof ("xglCreateImage"))) - return (XGL_VOID *) pTable->CreateImage; - else if (!strncmp("xglGetImageSubresourceInfo", pName, sizeof ("xglGetImageSubresourceInfo"))) - return (XGL_VOID *) pTable->GetImageSubresourceInfo; - else if (!strncmp("xglCreateImageView", pName, sizeof ("xglCreateImageView"))) - return (XGL_VOID *) pTable->CreateImageView; - else if (!strncmp("xglCreateColorAttachmentView", pName, sizeof ("xglCreateColorAttachmentView"))) - return (XGL_VOID *) pTable->CreateColorAttachmentView; - else if (!strncmp("xglCreateDepthStencilView", pName, sizeof ("xglCreateDepthStencilView"))) - return (XGL_VOID *) pTable->CreateDepthStencilView; - else if (!strncmp("xglCreateShader", pName, sizeof ("xglCreateShader"))) - return (XGL_VOID *) pTable->CreateShader; else if (!strncmp("xglCreateGraphicsPipeline", pName, sizeof ("xglCreateGraphicsPipeline"))) return (XGL_VOID *) multi1CreateGraphicsPipeline; - else if (!strncmp("xglCreateComputePipeline", pName, sizeof ("xglCreateComputePipeline"))) - return (XGL_VOID *) pTable->CreateComputePipeline; else if (!strncmp("xglStorePipeline", pName, sizeof ("xglStorePipeline"))) return (XGL_VOID *) multi1StorePipeline; - else if (!strncmp("xglLoadPipeline", pName, sizeof ("xglLoadPipeline"))) - return (XGL_VOID *) pTable->LoadPipeline; - else if (!strncmp("xglCreatePipelineDelta", pName, sizeof ("xglCreatePipelineDelta"))) - return (XGL_VOID *) pTable->CreatePipelineDelta; - else if (!strncmp("xglCreateSampler", pName, sizeof ("xglCreateSampler"))) - return (XGL_VOID *) pTable->CreateSampler; - else if (!strncmp("xglCreateDescriptorSet", pName, sizeof ("xglCreateDescriptorSet"))) - return (XGL_VOID *) pTable->CreateDescriptorSet; - else if (!strncmp("xglBeginDescriptorSetUpdate", pName, sizeof ("xglBeginDescriptorSetUpdate"))) - return (XGL_VOID *) pTable->BeginDescriptorSetUpdate; - else if (!strncmp("xglEndDescriptorSetUpdate", pName, sizeof ("xglEndDescriptorSetUpdate"))) - return (XGL_VOID *) pTable->EndDescriptorSetUpdate; - else if (!strncmp("xglAttachSamplerDescriptors", pName, sizeof ("xglAttachSamplerDescriptors"))) - return (XGL_VOID *) pTable->AttachSamplerDescriptors; - else if (!strncmp("xglAttachImageViewDescriptors", pName, sizeof ("xglAttachImageViewDescriptors"))) - return (XGL_VOID *) pTable->AttachImageViewDescriptors; - else if (!strncmp("xglAttachMemoryViewDescriptors", pName, sizeof ("xglAttachMemoryViewDescriptors"))) - return (XGL_VOID *) pTable->AttachMemoryViewDescriptors; - else if (!strncmp("xglAttachNestedDescriptors", pName, sizeof ("xglAttachNestedDescriptors"))) - return (XGL_VOID *) pTable->AttachNestedDescriptors; - else if (!strncmp("xglClearDescriptorSetSlots", pName, sizeof ("xglClearDescriptorSetSlots"))) - return (XGL_VOID *) pTable->ClearDescriptorSetSlots; - else if (!strncmp("xglCreateViewportState", pName, sizeof ("xglCreateViewportState"))) - return (XGL_VOID *) pTable->CreateViewportState; - else if (!strncmp("xglCreateRasterState", pName, sizeof ("xglCreateRasterState"))) - return (XGL_VOID *) pTable->CreateRasterState; - else if (!strncmp("xglCreateMsaaState", pName, sizeof ("xglCreateMsaaState"))) - return (XGL_VOID *) pTable->CreateMsaaState; - else if (!strncmp("xglCreateColorBlendState", pName, sizeof ("xglCreateColorBlendState"))) - return (XGL_VOID *) pTable->CreateColorBlendState; - else if (!strncmp("xglCreateDepthStencilState", pName, sizeof ("xglCreateDepthStencilState"))) - return (XGL_VOID *) pTable->CreateDepthStencilState; - else if (!strncmp("xglCreateCommandBuffer", pName, sizeof ("xglCreateCommandBuffer"))) - return (XGL_VOID *) pTable->CreateCommandBuffer; - else if (!strncmp("xglBeginCommandBuffer", pName, sizeof ("xglBeginCommandBuffer"))) - return (XGL_VOID *) pTable->BeginCommandBuffer; - else if (!strncmp("xglEndCommandBuffer", pName, sizeof ("xglEndCommandBuffer"))) - return (XGL_VOID *) pTable->EndCommandBuffer; - else if (!strncmp("xglResetCommandBuffer", pName, sizeof ("xglResetCommandBuffer"))) - return (XGL_VOID *) pTable->ResetCommandBuffer; - else if (!strncmp("xglCmdBindPipeline", pName, sizeof ("xglCmdBindPipeline"))) - return (XGL_VOID *) pTable->CmdBindPipeline; - else if (!strncmp("xglCmdBindPipelineDelta", pName, sizeof ("xglCmdBindPipelineDelta"))) - return (XGL_VOID *) pTable->CmdBindPipelineDelta; - else if (!strncmp("xglCmdBindStateObject", pName, sizeof ("xglCmdBindStateObject"))) - return (XGL_VOID *) pTable->CmdBindStateObject; - else if (!strncmp("xglCmdBindDescriptorSet", pName, sizeof ("xglCmdBindDescriptorSet"))) - return (XGL_VOID *) pTable->CmdBindDescriptorSet; - else if (!strncmp("xglCmdBindDynamicMemoryView", pName, sizeof ("xglCmdBindDynamicMemoryView"))) - return (XGL_VOID *) pTable->CmdBindDynamicMemoryView; - else if (!strncmp("xglCmdBindVertexData", pName, sizeof ("xglCmdBindVertexData"))) - return (XGL_VOID *) pTable->CmdBindVertexData; - else if (!strncmp("xglCmdBindIndexData", pName, sizeof ("xglCmdBindIndexData"))) - return (XGL_VOID *) pTable->CmdBindIndexData; - else if (!strncmp("xglCmdBindAttachments", pName, sizeof ("xglCmdBindAttachments"))) - return (XGL_VOID *) pTable->CmdBindAttachments; - else if (!strncmp("xglCmdPrepareMemoryRegions", pName, sizeof ("xglCmdPrepareMemoryRegions"))) - return (XGL_VOID *) pTable->CmdPrepareMemoryRegions; - else if (!strncmp("xglCmdPrepareImages", pName, sizeof ("xglCmdPrepareImages"))) - return (XGL_VOID *) pTable->CmdPrepareImages; - else if (!strncmp("xglCmdDraw", pName, sizeof ("xglCmdDraw"))) - return (XGL_VOID *) pTable->CmdDraw; - else if (!strncmp("xglCmdDrawIndexed", pName, sizeof ("xglCmdDrawIndexed"))) - return (XGL_VOID *) pTable->CmdDrawIndexed; - else if (!strncmp("xglCmdDrawIndirect", pName, sizeof ("xglCmdDrawIndirect"))) - return (XGL_VOID *) pTable->CmdDrawIndirect; - else if (!strncmp("xglCmdDrawIndexedIndirect", pName, sizeof ("xglCmdDrawIndexedIndirect"))) - return (XGL_VOID *) pTable->CmdDrawIndexedIndirect; - else if (!strncmp("xglCmdDispatch", pName, sizeof ("xglCmdDispatch"))) - return (XGL_VOID *) pTable->CmdDispatch; - else if (!strncmp("xglCmdDispatchIndirect", pName, sizeof ("xglCmdDispatchIndirect"))) - return (XGL_VOID *) pTable->CmdDispatchIndirect; - else if (!strncmp("xglCmdCopyMemory", pName, sizeof ("xglCmdCopyMemory"))) - return (XGL_VOID *) pTable->CmdCopyMemory; - else if (!strncmp("xglCmdCopyImage", pName, sizeof ("xglCmdCopyImage"))) - return (XGL_VOID *) pTable->CmdCopyImage; - else if (!strncmp("xglCmdCopyMemoryToImage", pName, sizeof ("xglCmdCopyMemoryToImage"))) - return (XGL_VOID *) pTable->CmdCopyMemoryToImage; - else if (!strncmp("xglCmdCopyImageToMemory", pName, sizeof ("xglCmdCopyImageToMemory"))) - return (XGL_VOID *) pTable->CmdCopyImageToMemory; - else if (!strncmp("xglCmdCloneImageData", pName, sizeof ("xglCmdCloneImageData"))) - return (XGL_VOID *) pTable->CmdCloneImageData; - else if (!strncmp("xglCmdUpdateMemory", pName, sizeof ("xglCmdUpdateMemory"))) - return (XGL_VOID *) pTable->CmdUpdateMemory; - else if (!strncmp("xglCmdFillMemory", pName, sizeof ("xglCmdFillMemory"))) - return (XGL_VOID *) pTable->CmdFillMemory; - else if (!strncmp("xglCmdClearColorImage", pName, sizeof ("xglCmdClearColorImage"))) - return (XGL_VOID *) pTable->CmdClearColorImage; - else if (!strncmp("xglCmdClearColorImageRaw", pName, sizeof ("xglCmdClearColorImageRaw"))) - return (XGL_VOID *) pTable->CmdClearColorImageRaw; - else if (!strncmp("xglCmdClearDepthStencil", pName, sizeof ("xglCmdClearDepthStencil"))) - return (XGL_VOID *) pTable->CmdClearDepthStencil; - else if (!strncmp("xglCmdResolveImage", pName, sizeof ("xglCmdResolveImage"))) - return (XGL_VOID *) pTable->CmdResolveImage; - else if (!strncmp("xglCmdSetEvent", pName, sizeof ("xglCmdSetEvent"))) - return (XGL_VOID *) pTable->CmdSetEvent; - else if (!strncmp("xglCmdResetEvent", pName, sizeof ("xglCmdResetEvent"))) - return (XGL_VOID *) pTable->CmdResetEvent; - else if (!strncmp("xglCmdMemoryAtomic", pName, sizeof ("xglCmdMemoryAtomic"))) - return (XGL_VOID *) pTable->CmdMemoryAtomic; - else if (!strncmp("xglCmdBeginQuery", pName, sizeof ("xglCmdBeginQuery"))) - return (XGL_VOID *) pTable->CmdBeginQuery; - else if (!strncmp("xglCmdEndQuery", pName, sizeof ("xglCmdEndQuery"))) - return (XGL_VOID *) pTable->CmdEndQuery; - else if (!strncmp("xglCmdResetQueryPool", pName, sizeof ("xglCmdResetQueryPool"))) - return (XGL_VOID *) pTable->CmdResetQueryPool; - else if (!strncmp("xglCmdWriteTimestamp", pName, sizeof ("xglCmdWriteTimestamp"))) - return (XGL_VOID *) pTable->CmdWriteTimestamp; - else if (!strncmp("xglCmdInitAtomicCounters", pName, sizeof ("xglCmdInitAtomicCounters"))) - return (XGL_VOID *) pTable->CmdInitAtomicCounters; - else if (!strncmp("xglCmdLoadAtomicCounters", pName, sizeof ("xglCmdLoadAtomicCounters"))) - return (XGL_VOID *) pTable->CmdLoadAtomicCounters; - else if (!strncmp("xglCmdSaveAtomicCounters", pName, sizeof ("xglCmdSaveAtomicCounters"))) - return (XGL_VOID *) pTable->CmdSaveAtomicCounters; - else if (!strncmp("xglDbgSetValidationLevel", pName, sizeof ("xglDbgSetValidationLevel"))) - return (XGL_VOID *) pTable->DbgSetValidationLevel; - else if (!strncmp("xglDbgRegisterMsgCallback", pName, sizeof ("xglDbgRegisterMsgCallback"))) - return (XGL_VOID *) pTable->DbgRegisterMsgCallback; - else if (!strncmp("xglDbgUnregisterMsgCallback", pName, sizeof ("xglDbgUnregisterMsgCallback"))) - return (XGL_VOID *) pTable->DbgUnregisterMsgCallback; - else if (!strncmp("xglDbgSetMessageFilter", pName, sizeof ("xglDbgSetMessageFilter"))) - return (XGL_VOID *) pTable->DbgSetMessageFilter; - else if (!strncmp("xglDbgSetObjectTag", pName, sizeof ("xglDbgSetObjectTag"))) - return (XGL_VOID *) pTable->DbgSetObjectTag; - else if (!strncmp("xglDbgSetGlobalOption", pName, sizeof ("xglDbgSetGlobalOption"))) - return (XGL_VOID *) pTable->DbgSetGlobalOption; - else if (!strncmp("xglDbgSetDeviceOption", pName, sizeof ("xglDbgSetDeviceOption"))) - return (XGL_VOID *) pTable->DbgSetDeviceOption; - else if (!strncmp("xglCmdDbgMarkerBegin", pName, sizeof ("xglCmdDbgMarkerBegin"))) - return (XGL_VOID *) pTable->CmdDbgMarkerBegin; - else if (!strncmp("xglCmdDbgMarkerEnd", pName, sizeof ("xglCmdDbgMarkerEnd"))) - return (XGL_VOID *) pTable->CmdDbgMarkerEnd; - else if (!strncmp("xglWsiX11AssociateConnection", pName, sizeof("xglWsiX11AssociateConnection"))) - return (XGL_VOID *) pTable->WsiX11AssociateConnection; - else if (!strncmp("xglWsiX11GetMSC", pName, sizeof("xglWsiX11GetMSC"))) - return (XGL_VOID *) pTable->WsiX11GetMSC; - else if (!strncmp("xglWsiX11CreatePresentableImage", pName, sizeof("xglWsiX11CreatePresentableImage"))) - return (XGL_VOID *) pTable->WsiX11CreatePresentableImage; - else if (!strncmp("xglWsiX11QueuePresent", pName, sizeof("xglWsiX11QueuePresent"))) - return (XGL_VOID *) pTable->WsiX11QueuePresent; else { - XGL_BASE_LAYER_OBJECT* gpuw = (XGL_BASE_LAYER_OBJECT *) gpu; if (gpuw->pGPA == NULL) return NULL; return gpuw->pGPA((XGL_PHYSICAL_GPU) gpuw->nextObject, pName); } - } /******************************** Layer multi2 functions **************************/ @@ -446,257 +214,25 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI multi2EnumerateLayers(XGL_PHYSICAL_GPU gpu, X XGL_LAYER_EXPORT XGL_VOID * XGLAPI multi2GetProcAddr(XGL_PHYSICAL_GPU gpu, const XGL_CHAR* pName) { XGL_BASE_LAYER_OBJECT* gpuw = (XGL_BASE_LAYER_OBJECT *) gpu; + if (gpu == NULL) return NULL; - XGL_LAYER_DISPATCH_TABLE* pTable; - pTable = getLayer2Table(gpuw); - if (!strncmp("xglInitAndEnumerateGpus", pName, sizeof("xglInitAndEnumerateGpus"))) - return (XGL_VOID *) pTable->InitAndEnumerateGpus; - else if (!strncmp("xglGetGpuInfo", pName, sizeof ("xglGetGpuInfo"))) - return (XGL_VOID *) pTable->GetGpuInfo; - else if (!strncmp("xglCreateDevice", pName, sizeof ("xglCreateDevice"))) + + getLayer2Table(gpuw); + + if (!strncmp("xglCreateDevice", pName, sizeof ("xglCreateDevice"))) return (XGL_VOID *) multi2CreateDevice; - else if (!strncmp("xglDestroyDevice", pName, sizeof ("xglDestroyDevice"))) - return (XGL_VOID *) pTable->DestroyDevice; - else if (!strncmp("xglGetExtensionSupport", pName, sizeof ("xglGetExtensionSupport"))) - return (XGL_VOID *) pTable->GetExtensionSupport; else if (!strncmp("xglEnumerateLayers", pName, sizeof ("xglEnumerateLayers"))) return (XGL_VOID *) multi2EnumerateLayers; - else if (!strncmp("xglGetDeviceQueue", pName, sizeof ("xglGetDeviceQueue"))) - return (XGL_VOID *) pTable->GetDeviceQueue; - else if (!strncmp("xglQueueSubmit", pName, sizeof ("xglQueueSubmit"))) - return (XGL_VOID *) pTable->QueueSubmit; - else if (!strncmp("xglQueueSetGlobalMemReferences", pName, sizeof ("xglQueueSetGlobalMemReferences"))) - return (XGL_VOID *) pTable->QueueSetGlobalMemReferences; - else if (!strncmp("xglQueueWaitIdle", pName, sizeof ("xglQueueWaitIdle"))) - return (XGL_VOID *) pTable->QueueWaitIdle; - else if (!strncmp("xglDeviceWaitIdle", pName, sizeof ("xglDeviceWaitIdle"))) - return (XGL_VOID *) pTable->DeviceWaitIdle; - else if (!strncmp("xglGetMemoryHeapCount", pName, sizeof ("xglGetMemoryHeapCount"))) - return (XGL_VOID *) pTable->GetMemoryHeapCount; - else if (!strncmp("xglGetMemoryHeapInfo", pName, sizeof ("xglGetMemoryHeapInfo"))) - return (XGL_VOID *) pTable->GetMemoryHeapInfo; - else if (!strncmp("xglAllocMemory", pName, sizeof ("xglAllocMemory"))) - return (XGL_VOID *) pTable->AllocMemory; - else if (!strncmp("xglFreeMemory", pName, sizeof ("xglFreeMemory"))) - return (XGL_VOID *) pTable->FreeMemory; - else if (!strncmp("xglSetMemoryPriority", pName, sizeof ("xglSetMemoryPriority"))) - return (XGL_VOID *) pTable->SetMemoryPriority; - else if (!strncmp("xglMapMemory", pName, sizeof ("xglMapMemory"))) - return (XGL_VOID *) pTable->MapMemory; - else if (!strncmp("xglUnmapMemory", pName, sizeof ("xglUnmapMemory"))) - return (XGL_VOID *) pTable->UnmapMemory; - else if (!strncmp("xglPinSystemMemory", pName, sizeof ("xglPinSystemMemory"))) - return (XGL_VOID *) pTable->PinSystemMemory; - else if (!strncmp("xglRemapVirtualMemoryPages", pName, sizeof ("xglRemapVirtualMemoryPages"))) - return (XGL_VOID *) pTable->RemapVirtualMemoryPages; - else if (!strncmp("xglGetMultiGpuCompatibility", pName, sizeof ("xglGetMultiGpuCompatibility"))) - return (XGL_VOID *) pTable->GetMultiGpuCompatibility; - else if (!strncmp("xglOpenSharedMemory", pName, sizeof ("xglOpenSharedMemory"))) - return (XGL_VOID *) pTable->OpenSharedMemory; - else if (!strncmp("xglOpenSharedQueueSemaphore", pName, sizeof ("xglOpenSharedQueueSemaphore"))) - return (XGL_VOID *) pTable->OpenSharedQueueSemaphore; - else if (!strncmp("xglOpenPeerMemory", pName, sizeof ("xglOpenPeerMemory"))) - return (XGL_VOID *) pTable->OpenPeerMemory; - else if (!strncmp("xglOpenPeerImage", pName, sizeof ("xglOpenPeerImage"))) - return (XGL_VOID *) pTable->OpenPeerImage; - else if (!strncmp("xglDestroyObject", pName, sizeof ("xglDestroyObject"))) - return (XGL_VOID *) pTable->DestroyObject; - else if (!strncmp("xglGetObjectInfo", pName, sizeof ("xglGetObjectInfo"))) - return (XGL_VOID *) pTable->GetObjectInfo; - else if (!strncmp("xglBindObjectMemory", pName, sizeof ("xglBindObjectMemory"))) - return (XGL_VOID *) pTable->BindObjectMemory; - else if (!strncmp("xglCreateFence", pName, sizeof ("xgllCreateFence"))) - return (XGL_VOID *) pTable->CreateFence; - else if (!strncmp("xglGetFenceStatus", pName, sizeof ("xglGetFenceStatus"))) - return (XGL_VOID *) pTable->GetFenceStatus; - else if (!strncmp("xglWaitForFences", pName, sizeof ("xglWaitForFences"))) - return (XGL_VOID *) pTable->WaitForFences; - else if (!strncmp("xglCreateQueueSemaphore", pName, sizeof ("xgllCreateQueueSemaphore"))) - return (XGL_VOID *) pTable->CreateQueueSemaphore; - else if (!strncmp("xglSignalQueueSemaphore", pName, sizeof ("xglSignalQueueSemaphore"))) - return (XGL_VOID *) pTable->SignalQueueSemaphore; - else if (!strncmp("xglWaitQueueSemaphore", pName, sizeof ("xglWaitQueueSemaphore"))) - return (XGL_VOID *) pTable->WaitQueueSemaphore; - else if (!strncmp("xglCreateEvent", pName, sizeof ("xgllCreateEvent"))) - return (XGL_VOID *) pTable->CreateEvent; - else if (!strncmp("xglGetEventStatus", pName, sizeof ("xglGetEventStatus"))) - return (XGL_VOID *) pTable->GetEventStatus; - else if (!strncmp("xglSetEvent", pName, sizeof ("xglSetEvent"))) - return (XGL_VOID *) pTable->SetEvent; - else if (!strncmp("xglResetEvent", pName, sizeof ("xgllResetEvent"))) - return (XGL_VOID *) pTable->ResetEvent; - else if (!strncmp("xglCreateQueryPool", pName, sizeof ("xglCreateQueryPool"))) - return (XGL_VOID *) pTable->CreateQueryPool; - else if (!strncmp("xglGetQueryPoolResults", pName, sizeof ("xglGetQueryPoolResults"))) - return (XGL_VOID *) pTable->GetQueryPoolResults; - else if (!strncmp("xglGetFormatInfo", pName, sizeof ("xglGetFormatInfo"))) - return (XGL_VOID *) pTable->GetFormatInfo; - else if (!strncmp("xglCreateImage", pName, sizeof ("xglCreateImage"))) - return (XGL_VOID *) pTable->CreateImage; - else if (!strncmp("xglGetImageSubresourceInfo", pName, sizeof ("xglGetImageSubresourceInfo"))) - return (XGL_VOID *) pTable->GetImageSubresourceInfo; - else if (!strncmp("xglCreateImageView", pName, sizeof ("xglCreateImageView"))) - return (XGL_VOID *) pTable->CreateImageView; - else if (!strncmp("xglCreateColorAttachmentView", pName, sizeof ("xglCreateColorAttachmentView"))) - return (XGL_VOID *) pTable->CreateColorAttachmentView; - else if (!strncmp("xglCreateDepthStencilView", pName, sizeof ("xglCreateDepthStencilView"))) - return (XGL_VOID *) pTable->CreateDepthStencilView; - else if (!strncmp("xglCreateShader", pName, sizeof ("xglCreateShader"))) - return (XGL_VOID *) pTable->CreateShader; - else if (!strncmp("xglCreateGraphicsPipeline", pName, sizeof ("xglCreateGraphicsPipeline"))) - return (XGL_VOID *) pTable->CreateGraphicsPipeline; - else if (!strncmp("xglCreateComputePipeline", pName, sizeof ("xglCreateComputePipeline"))) - return (XGL_VOID *) pTable->CreateComputePipeline; - else if (!strncmp("xglStorePipeline", pName, sizeof ("xglStorePipeline"))) - return (XGL_VOID *) pTable->StorePipeline; - else if (!strncmp("xglLoadPipeline", pName, sizeof ("xglLoadPipeline"))) - return (XGL_VOID *) pTable->LoadPipeline; - else if (!strncmp("xglCreatePipelineDelta", pName, sizeof ("xglCreatePipelineDelta"))) - return (XGL_VOID *) pTable->CreatePipelineDelta; - else if (!strncmp("xglCreateSampler", pName, sizeof ("xglCreateSampler"))) - return (XGL_VOID *) pTable->CreateSampler; - else if (!strncmp("xglCreateDescriptorSet", pName, sizeof ("xglCreateDescriptorSet"))) - return (XGL_VOID *) pTable->CreateDescriptorSet; - else if (!strncmp("xglBeginDescriptorSetUpdate", pName, sizeof ("xglBeginDescriptorSetUpdate"))) - return (XGL_VOID *) pTable->BeginDescriptorSetUpdate; - else if (!strncmp("xglEndDescriptorSetUpdate", pName, sizeof ("xglEndDescriptorSetUpdate"))) - return (XGL_VOID *) pTable->EndDescriptorSetUpdate; - else if (!strncmp("xglAttachSamplerDescriptors", pName, sizeof ("xglAttachSamplerDescriptors"))) - return (XGL_VOID *) pTable->AttachSamplerDescriptors; - else if (!strncmp("xglAttachImageViewDescriptors", pName, sizeof ("xglAttachImageViewDescriptors"))) - return (XGL_VOID *) pTable->AttachImageViewDescriptors; - else if (!strncmp("xglAttachMemoryViewDescriptors", pName, sizeof ("xglAttachMemoryViewDescriptors"))) - return (XGL_VOID *) pTable->AttachMemoryViewDescriptors; - else if (!strncmp("xglAttachNestedDescriptors", pName, sizeof ("xglAttachNestedDescriptors"))) - return (XGL_VOID *) pTable->AttachNestedDescriptors; - else if (!strncmp("xglClearDescriptorSetSlots", pName, sizeof ("xglClearDescriptorSetSlots"))) - return (XGL_VOID *) pTable->ClearDescriptorSetSlots; - else if (!strncmp("xglCreateViewportState", pName, sizeof ("xglCreateViewportState"))) - return (XGL_VOID *) pTable->CreateViewportState; - else if (!strncmp("xglCreateRasterState", pName, sizeof ("xglCreateRasterState"))) - return (XGL_VOID *) pTable->CreateRasterState; - else if (!strncmp("xglCreateMsaaState", pName, sizeof ("xglCreateMsaaState"))) - return (XGL_VOID *) pTable->CreateMsaaState; - else if (!strncmp("xglCreateColorBlendState", pName, sizeof ("xglCreateColorBlendState"))) - return (XGL_VOID *) pTable->CreateColorBlendState; - else if (!strncmp("xglCreateDepthStencilState", pName, sizeof ("xglCreateDepthStencilState"))) - return (XGL_VOID *) pTable->CreateDepthStencilState; else if (!strncmp("xglCreateCommandBuffer", pName, sizeof ("xglCreateCommandBuffer"))) return (XGL_VOID *) multi2CreateCommandBuffer; else if (!strncmp("xglBeginCommandBuffer", pName, sizeof ("xglBeginCommandBuffer"))) return (XGL_VOID *) multi2BeginCommandBuffer; - else if (!strncmp("xglEndCommandBuffer", pName, sizeof ("xglEndCommandBuffer"))) - return (XGL_VOID *) pTable->EndCommandBuffer; - else if (!strncmp("xglResetCommandBuffer", pName, sizeof ("xglResetCommandBuffer"))) - return (XGL_VOID *) pTable->ResetCommandBuffer; - else if (!strncmp("xglCmdBindPipeline", pName, sizeof ("xglCmdBindPipeline"))) - return (XGL_VOID *) pTable->CmdBindPipeline; - else if (!strncmp("xglCmdBindPipelineDelta", pName, sizeof ("xglCmdBindPipelineDelta"))) - return (XGL_VOID *) pTable->CmdBindPipelineDelta; - else if (!strncmp("xglCmdBindStateObject", pName, sizeof ("xglCmdBindStateObject"))) - return (XGL_VOID *) pTable->CmdBindStateObject; - else if (!strncmp("xglCmdBindDescriptorSet", pName, sizeof ("xglCmdBindDescriptorSet"))) - return (XGL_VOID *) pTable->CmdBindDescriptorSet; - else if (!strncmp("xglCmdBindDynamicMemoryView", pName, sizeof ("xglCmdBindDynamicMemoryView"))) - return (XGL_VOID *) pTable->CmdBindDynamicMemoryView; - else if (!strncmp("xglCmdBindVertexData", pName, sizeof ("xglCmdBindVertexData"))) - return (XGL_VOID *) pTable->CmdBindVertexData; - else if (!strncmp("xglCmdBindIndexData", pName, sizeof ("xglCmdBindIndexData"))) - return (XGL_VOID *) pTable->CmdBindIndexData; - else if (!strncmp("xglCmdBindAttachments", pName, sizeof ("xglCmdBindAttachments"))) - return (XGL_VOID *) pTable->CmdBindAttachments; - else if (!strncmp("xglCmdPrepareMemoryRegions", pName, sizeof ("xglCmdPrepareMemoryRegions"))) - return (XGL_VOID *) pTable->CmdPrepareMemoryRegions; - else if (!strncmp("xglCmdPrepareImages", pName, sizeof ("xglCmdPrepareImages"))) - return (XGL_VOID *) pTable->CmdPrepareImages; - else if (!strncmp("xglCmdDraw", pName, sizeof ("xglCmdDraw"))) - return (XGL_VOID *) pTable->CmdDraw; - else if (!strncmp("xglCmdDrawIndexed", pName, sizeof ("xglCmdDrawIndexed"))) - return (XGL_VOID *) pTable->CmdDrawIndexed; - else if (!strncmp("xglCmdDrawIndirect", pName, sizeof ("xglCmdDrawIndirect"))) - return (XGL_VOID *) pTable->CmdDrawIndirect; - else if (!strncmp("xglCmdDrawIndexedIndirect", pName, sizeof ("xglCmdDrawIndexedIndirect"))) - return (XGL_VOID *) pTable->CmdDrawIndexedIndirect; - else if (!strncmp("xglCmdDispatch", pName, sizeof ("xglCmdDispatch"))) - return (XGL_VOID *) pTable->CmdDispatch; - else if (!strncmp("xglCmdDispatchIndirect", pName, sizeof ("xglCmdDispatchIndirect"))) - return (XGL_VOID *) pTable->CmdDispatchIndirect; - else if (!strncmp("xglCmdCopyMemory", pName, sizeof ("xglCmdCopyMemory"))) - return (XGL_VOID *) pTable->CmdCopyMemory; - else if (!strncmp("xglCmdCopyImage", pName, sizeof ("xglCmdCopyImage"))) - return (XGL_VOID *) pTable->CmdCopyImage; - else if (!strncmp("xglCmdCopyMemoryToImage", pName, sizeof ("xglCmdCopyMemoryToImage"))) - return (XGL_VOID *) pTable->CmdCopyMemoryToImage; - else if (!strncmp("xglCmdCopyImageToMemory", pName, sizeof ("xglCmdCopyImageToMemory"))) - return (XGL_VOID *) pTable->CmdCopyImageToMemory; - else if (!strncmp("xglCmdCloneImageData", pName, sizeof ("xglCmdCloneImageData"))) - return (XGL_VOID *) pTable->CmdCloneImageData; - else if (!strncmp("xglCmdUpdateMemory", pName, sizeof ("xglCmdUpdateMemory"))) - return (XGL_VOID *) pTable->CmdUpdateMemory; - else if (!strncmp("xglCmdFillMemory", pName, sizeof ("xglCmdFillMemory"))) - return (XGL_VOID *) pTable->CmdFillMemory; - else if (!strncmp("xglCmdClearColorImage", pName, sizeof ("xglCmdClearColorImage"))) - return (XGL_VOID *) pTable->CmdClearColorImage; - else if (!strncmp("xglCmdClearColorImageRaw", pName, sizeof ("xglCmdClearColorImageRaw"))) - return (XGL_VOID *) pTable->CmdClearColorImageRaw; - else if (!strncmp("xglCmdClearDepthStencil", pName, sizeof ("xglCmdClearDepthStencil"))) - return (XGL_VOID *) pTable->CmdClearDepthStencil; - else if (!strncmp("xglCmdResolveImage", pName, sizeof ("xglCmdResolveImage"))) - return (XGL_VOID *) pTable->CmdResolveImage; - else if (!strncmp("xglCmdSetEvent", pName, sizeof ("xglCmdSetEvent"))) - return (XGL_VOID *) pTable->CmdSetEvent; - else if (!strncmp("xglCmdResetEvent", pName, sizeof ("xglCmdResetEvent"))) - return (XGL_VOID *) pTable->CmdResetEvent; - else if (!strncmp("xglCmdMemoryAtomic", pName, sizeof ("xglCmdMemoryAtomic"))) - return (XGL_VOID *) pTable->CmdMemoryAtomic; - else if (!strncmp("xglCmdBeginQuery", pName, sizeof ("xglCmdBeginQuery"))) - return (XGL_VOID *) pTable->CmdBeginQuery; - else if (!strncmp("xglCmdEndQuery", pName, sizeof ("xglCmdEndQuery"))) - return (XGL_VOID *) pTable->CmdEndQuery; - else if (!strncmp("xglCmdResetQueryPool", pName, sizeof ("xglCmdResetQueryPool"))) - return (XGL_VOID *) pTable->CmdResetQueryPool; - else if (!strncmp("xglCmdWriteTimestamp", pName, sizeof ("xglCmdWriteTimestamp"))) - return (XGL_VOID *) pTable->CmdWriteTimestamp; - else if (!strncmp("xglCmdInitAtomicCounters", pName, sizeof ("xglCmdInitAtomicCounters"))) - return (XGL_VOID *) pTable->CmdInitAtomicCounters; - else if (!strncmp("xglCmdLoadAtomicCounters", pName, sizeof ("xglCmdLoadAtomicCounters"))) - return (XGL_VOID *) pTable->CmdLoadAtomicCounters; - else if (!strncmp("xglCmdSaveAtomicCounters", pName, sizeof ("xglCmdSaveAtomicCounters"))) - return (XGL_VOID *) pTable->CmdSaveAtomicCounters; - else if (!strncmp("xglDbgSetValidationLevel", pName, sizeof ("xglDbgSetValidationLevel"))) - return (XGL_VOID *) pTable->DbgSetValidationLevel; - else if (!strncmp("xglDbgRegisterMsgCallback", pName, sizeof ("xglDbgRegisterMsgCallback"))) - return (XGL_VOID *) pTable->DbgRegisterMsgCallback; - else if (!strncmp("xglDbgUnregisterMsgCallback", pName, sizeof ("xglDbgUnregisterMsgCallback"))) - return (XGL_VOID *) pTable->DbgUnregisterMsgCallback; - else if (!strncmp("xglDbgSetMessageFilter", pName, sizeof ("xglDbgSetMessageFilter"))) - return (XGL_VOID *) pTable->DbgSetMessageFilter; - else if (!strncmp("xglDbgSetObjectTag", pName, sizeof ("xglDbgSetObjectTag"))) - return (XGL_VOID *) pTable->DbgSetObjectTag; - else if (!strncmp("xglDbgSetGlobalOption", pName, sizeof ("xglDbgSetGlobalOption"))) - return (XGL_VOID *) pTable->DbgSetGlobalOption; - else if (!strncmp("xglDbgSetDeviceOption", pName, sizeof ("xglDbgSetDeviceOption"))) - return (XGL_VOID *) pTable->DbgSetDeviceOption; - else if (!strncmp("xglCmdDbgMarkerBegin", pName, sizeof ("xglCmdDbgMarkerBegin"))) - return (XGL_VOID *) pTable->CmdDbgMarkerBegin; - else if (!strncmp("xglCmdDbgMarkerEnd", pName, sizeof ("xglCmdDbgMarkerEnd"))) - return (XGL_VOID *) pTable->CmdDbgMarkerEnd; - else if (!strncmp("xglWsiX11AssociateConnection", pName, sizeof("xglWsiX11AssociateConnection"))) - return (XGL_VOID *) pTable->WsiX11AssociateConnection; - else if (!strncmp("xglWsiX11GetMSC", pName, sizeof("xglWsiX11GetMSC"))) - return (XGL_VOID *) pTable->WsiX11GetMSC; - else if (!strncmp("xglWsiX11CreatePresentableImage", pName, sizeof("xglWsiX11CreatePresentableImage"))) - return (XGL_VOID *) pTable->WsiX11CreatePresentableImage; - else if (!strncmp("xglWsiX11QueuePresent", pName, sizeof("xglWsiX11QueuePresent"))) - return (XGL_VOID *) pTable->WsiX11QueuePresent; else { - XGL_BASE_LAYER_OBJECT* gpuw = (XGL_BASE_LAYER_OBJECT *) gpu; if (gpuw->pGPA == NULL) return NULL; return gpuw->pGPA((XGL_PHYSICAL_GPU) gpuw->nextObject, pName); } - } /********************************* Common functions ********************************/ |
