mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-10-29 10:03:01 +01:00
Removal of WFI + address device creation crash on A6xx
This commit is contained in:
parent
10a21bf246
commit
19298b713b
6 changed files with 52 additions and 153 deletions
|
|
@ -125,13 +125,11 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
X(vkCmdSetDepthBias);
|
||||
X(vkCmdSetDepthBias2EXT);
|
||||
X(vkCmdSetDepthBounds);
|
||||
X(vkCmdSetEvent2);
|
||||
X(vkCmdSetScissor);
|
||||
X(vkCmdSetStencilCompareMask);
|
||||
X(vkCmdSetStencilReference);
|
||||
X(vkCmdSetStencilWriteMask);
|
||||
X(vkCmdSetViewport);
|
||||
X(vkCmdWaitEvents2);
|
||||
X(vkCmdBindVertexBuffers2EXT);
|
||||
X(vkCmdSetCullModeEXT);
|
||||
X(vkCmdSetDepthBoundsTestEnableEXT);
|
||||
|
|
@ -168,7 +166,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
X(vkCreateDescriptorPool);
|
||||
X(vkCreateDescriptorSetLayout);
|
||||
X(vkCreateDescriptorUpdateTemplate);
|
||||
X(vkCreateEvent);
|
||||
X(vkCreateFence);
|
||||
X(vkCreateFramebuffer);
|
||||
X(vkCreateGraphicsPipelines);
|
||||
|
|
@ -187,7 +184,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
X(vkDestroyDescriptorPool);
|
||||
X(vkDestroyDescriptorSetLayout);
|
||||
X(vkDestroyDescriptorUpdateTemplate);
|
||||
X(vkDestroyEvent);
|
||||
X(vkDestroyFence);
|
||||
X(vkDestroyFramebuffer);
|
||||
X(vkDestroyImage);
|
||||
|
|
@ -208,7 +204,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
X(vkGetBufferMemoryRequirements2);
|
||||
X(vkGetDeviceBufferMemoryRequirements);
|
||||
X(vkGetDeviceQueue);
|
||||
X(vkGetEventStatus);
|
||||
X(vkGetFenceStatus);
|
||||
X(vkGetPipelineCacheData);
|
||||
X(vkGetQueryPoolResults);
|
||||
|
|
@ -261,12 +256,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
if (!dld.vkQueueSubmit2) {
|
||||
Proc(dld.vkQueueSubmit2, dld, "vkQueueSubmit2KHR", device);
|
||||
}
|
||||
if (!dld.vkCmdSetEvent2) {
|
||||
Proc(dld.vkCmdSetEvent2, dld, "vkCmdSetEvent2KHR", device);
|
||||
}
|
||||
if (!dld.vkCmdWaitEvents2) {
|
||||
Proc(dld.vkCmdWaitEvents2, dld, "vkCmdWaitEvents2KHR", device);
|
||||
}
|
||||
|
||||
if (!dld.vkCreateRenderPass2) {
|
||||
Proc(dld.vkCreateRenderPass2, dld, "vkCreateRenderPass2KHR", device);
|
||||
|
|
@ -361,10 +350,6 @@ void Destroy(VkDevice device, VkDescriptorUpdateTemplate handle,
|
|||
dld.vkDestroyDescriptorUpdateTemplate(device, handle, nullptr);
|
||||
}
|
||||
|
||||
void Destroy(VkDevice device, VkEvent handle, const DeviceDispatch& dld) noexcept {
|
||||
dld.vkDestroyEvent(device, handle, nullptr);
|
||||
}
|
||||
|
||||
void Destroy(VkDevice device, VkFence handle, const DeviceDispatch& dld) noexcept {
|
||||
dld.vkDestroyFence(device, handle, nullptr);
|
||||
}
|
||||
|
|
@ -590,10 +575,6 @@ std::vector<VkImage> SwapchainKHR::GetImages() const {
|
|||
return images;
|
||||
}
|
||||
|
||||
void Event::SetObjectNameEXT(const char* name) const {
|
||||
SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_EVENT, name);
|
||||
}
|
||||
|
||||
void ShaderModule::SetObjectNameEXT(const char* name) const {
|
||||
SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_SHADER_MODULE, name);
|
||||
}
|
||||
|
|
@ -753,18 +734,6 @@ ShaderModule Device::CreateShaderModule(const VkShaderModuleCreateInfo& ci) cons
|
|||
return ShaderModule(object, handle, *dld);
|
||||
}
|
||||
|
||||
Event Device::CreateEvent() const {
|
||||
static constexpr VkEventCreateInfo ci{
|
||||
.sType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
|
||||
.pNext = nullptr,
|
||||
.flags = 0,
|
||||
};
|
||||
|
||||
VkEvent object;
|
||||
Check(dld->vkCreateEvent(handle, &ci, nullptr, &object));
|
||||
return Event(object, handle, *dld);
|
||||
}
|
||||
|
||||
SwapchainKHR Device::CreateSwapchainKHR(const VkSwapchainCreateInfoKHR& ci) const {
|
||||
VkSwapchainKHR object;
|
||||
Check(dld->vkCreateSwapchainKHR(handle, &ci, nullptr, &object));
|
||||
|
|
|
|||
|
|
@ -255,7 +255,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT{};
|
||||
PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT{};
|
||||
PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT{};
|
||||
PFN_vkCmdSetEvent2 vkCmdSetEvent2{};
|
||||
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT{};
|
||||
PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT{};
|
||||
PFN_vkCmdSetLineWidth vkCmdSetLineWidth{};
|
||||
|
|
@ -272,7 +271,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT{};
|
||||
PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT{};
|
||||
PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT{};
|
||||
PFN_vkCmdWaitEvents2 vkCmdWaitEvents2{};
|
||||
PFN_vkCreateBuffer vkCreateBuffer{};
|
||||
PFN_vkCreateBufferView vkCreateBufferView{};
|
||||
PFN_vkCreateCommandPool vkCreateCommandPool{};
|
||||
|
|
@ -280,7 +278,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkCreateDescriptorPool vkCreateDescriptorPool{};
|
||||
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout{};
|
||||
PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate{};
|
||||
PFN_vkCreateEvent vkCreateEvent{};
|
||||
PFN_vkCreateFence vkCreateFence{};
|
||||
PFN_vkCreateFramebuffer vkCreateFramebuffer{};
|
||||
PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines{};
|
||||
|
|
@ -299,7 +296,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool{};
|
||||
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout{};
|
||||
PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate{};
|
||||
PFN_vkDestroyEvent vkDestroyEvent{};
|
||||
PFN_vkDestroyFence vkDestroyFence{};
|
||||
PFN_vkDestroyFramebuffer vkDestroyFramebuffer{};
|
||||
PFN_vkDestroyImage vkDestroyImage{};
|
||||
|
|
@ -320,7 +316,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2{};
|
||||
PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements{};
|
||||
PFN_vkGetDeviceQueue vkGetDeviceQueue{};
|
||||
PFN_vkGetEventStatus vkGetEventStatus{};
|
||||
PFN_vkGetFenceStatus vkGetFenceStatus{};
|
||||
PFN_vkGetPipelineCacheData vkGetPipelineCacheData{};
|
||||
PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR{};
|
||||
|
|
@ -361,7 +356,6 @@ void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept;
|
|||
void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkDescriptorUpdateTemplate, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkFramebuffer, const DeviceDispatch&) noexcept;
|
||||
void Destroy(VkDevice, VkImage, const DeviceDispatch&) noexcept;
|
||||
|
|
@ -908,18 +902,6 @@ public:
|
|||
std::vector<VkImage> GetImages() const;
|
||||
};
|
||||
|
||||
class Event : public Handle<VkEvent, VkDevice, DeviceDispatch> {
|
||||
using Handle<VkEvent, VkDevice, DeviceDispatch>::Handle;
|
||||
|
||||
public:
|
||||
/// Set object name.
|
||||
void SetObjectNameEXT(const char* name) const;
|
||||
|
||||
VkResult GetStatus() const noexcept {
|
||||
return dld->vkGetEventStatus(owner, handle);
|
||||
}
|
||||
};
|
||||
|
||||
class ShaderModule : public Handle<VkShaderModule, VkDevice, DeviceDispatch> {
|
||||
using Handle<VkShaderModule, VkDevice, DeviceDispatch>::Handle;
|
||||
|
||||
|
|
@ -1032,8 +1014,6 @@ public:
|
|||
|
||||
[[nodiscard]] ShaderModule CreateShaderModule(const VkShaderModuleCreateInfo& ci) const;
|
||||
|
||||
[[nodiscard]] Event CreateEvent() const;
|
||||
|
||||
[[nodiscard]] SwapchainKHR CreateSwapchainKHR(const VkSwapchainCreateInfoKHR& ci) const;
|
||||
|
||||
VkMemoryRequirements GetDeviceBufferMemoryRequirements(const VkBufferCreateInfo& ci) const noexcept;
|
||||
|
|
@ -1445,14 +1425,6 @@ public:
|
|||
dld->vkCmdSetDepthBounds(handle, min_depth_bounds, max_depth_bounds);
|
||||
}
|
||||
|
||||
void SetEvent(VkEvent event, const VkDependencyInfo& dependency_info) const noexcept {
|
||||
dld->vkCmdSetEvent2(handle, event, &dependency_info);
|
||||
}
|
||||
|
||||
void WaitEvents(Span<VkEvent> events, const VkDependencyInfo& dependency_info) const noexcept {
|
||||
dld->vkCmdWaitEvents2(handle, events.size(), events.data(), &dependency_info);
|
||||
}
|
||||
|
||||
void BindVertexBuffers2EXT(u32 first_binding, u32 binding_count, const VkBuffer* buffers,
|
||||
const VkDeviceSize* offsets, const VkDeviceSize* sizes,
|
||||
const VkDeviceSize* strides) const noexcept {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue