shader fix

This commit is contained in:
Jorijn van der Graaf 2025-05-03 02:34:38 +02:00
commit 01a3211dfb
7 changed files with 10 additions and 13 deletions

View file

@ -34,19 +34,19 @@ namespace Crafter {
imageInfo.usage = usage; imageInfo.usage = usage;
imageInfo.samples = VK_SAMPLE_COUNT_1_BIT; imageInfo.samples = VK_SAMPLE_COUNT_1_BIT;
imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
VulkanDevice::CHECK_VK_RESULT(vkCreateImage(device, &imageInfo, nullptr, &image)); VulkanDevice::CHECK_VK_RESULT(vkCreateImage(VulkanDevice::device, &imageInfo, nullptr, &image));
VkMemoryRequirements memRequirements; VkMemoryRequirements memRequirements;
vkGetImageMemoryRequirements(device, image, &memRequirements); vkGetImageMemoryRequirements(VulkanDevice::device, image, &memRequirements);
VkMemoryAllocateInfo allocInfo{}; VkMemoryAllocateInfo allocInfo{};
allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
allocInfo.allocationSize = memRequirements.size; allocInfo.allocationSize = memRequirements.size;
allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties);
VulkanDevice::CHECK_VK_RESULT(vkAllocateMemory(device, &allocInfo, nullptr, &imageMemory)); VulkanDevice::CHECK_VK_RESULT(vkAllocateMemory(VulkanDevice::device, &allocInfo, nullptr, &imageMemory));
vkBindImageMemory(device, image, imageMemory, 0); vkBindImageMemory(VulkanDevice::device, image, imageMemory, 0);
} }
}; };
} }

View file

@ -10,7 +10,6 @@ module;
export module Crafter.Graphics:WindowWaylandVulkan; export module Crafter.Graphics:WindowWaylandVulkan;
import Crafter.Event; import Crafter.Event;
import :WindowWayland; import :WindowWayland;
import :VulkanElement;
import Crafter.Component; import Crafter.Component;
namespace Crafter { namespace Crafter {

View file

@ -9,9 +9,7 @@ export import :Types;
export import :VulkanDevice; export import :VulkanDevice;
export import :VulkanPipeline; export import :VulkanPipeline;
export import :VulkanShader; export import :VulkanShader;
export import :VulkanElement;
export import :Camera; export import :Camera;
export import :VulkanElementFromPipeline;
export import :VulkanBuffer; export import :VulkanBuffer;
export import :Mesh; export import :Mesh;
export import :MeshShader; export import :MeshShader;

View file

@ -14,8 +14,8 @@ import Crafter.Asset;
import Crafter.Event; import Crafter.Event;
using namespace Crafter; using namespace Crafter;
typedef VulkanShader<"test.spirv", "main", VK_SHADER_STAGE_MESH_BIT_EXT, 3, {{{VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0}, {VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1}, {VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 2}}}> MeshVulkanShader; typedef VulkanShader<"MeshShaderXYZ.spirv", "main", VK_SHADER_STAGE_MESH_BIT_EXT, 3, {{{VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0}, {VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1}, {VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 2}}}> MeshVulkanShader;
typedef VulkanShader<"test2.spirv", "main", VK_SHADER_STAGE_FRAGMENT_BIT, 0, {}> FragmentShader; typedef VulkanShader<"FragmentShaderSolidWhite.spirv", "main", VK_SHADER_STAGE_FRAGMENT_BIT, 0, {}> FragmentShader;
typedef VulkanPipeline<MeshVulkanShader, FragmentShader> Pipeline; typedef VulkanPipeline<MeshVulkanShader, FragmentShader> Pipeline;
int main() { int main() {

View file

@ -7,19 +7,19 @@
"source_files": ["Crafter.Graphics-Window","Crafter.Graphics-WindowWayland","Crafter.Graphics-WindowWaylandWayland", "Crafter.Graphics-UiElement", "Crafter.Graphics-VulkanDevice", "Crafter.Graphics-WindowWaylandVulkan", "VulkanBuffer", "VulkanTools", "Crafter.Graphics-Camera"], "source_files": ["Crafter.Graphics-Window","Crafter.Graphics-WindowWayland","Crafter.Graphics-WindowWaylandWayland", "Crafter.Graphics-UiElement", "Crafter.Graphics-VulkanDevice", "Crafter.Graphics-WindowWaylandVulkan", "VulkanBuffer", "VulkanTools", "Crafter.Graphics-Camera"],
"c_files": ["wayland-xdg-decoration-unstable-v1-client-protocol", "xdg-shell-protocol", "shm"], "c_files": ["wayland-xdg-decoration-unstable-v1-client-protocol", "xdg-shell-protocol", "shm"],
"module_files": ["Crafter.Graphics-Window","Crafter.Graphics-WindowWayland","Crafter.Graphics-WindowWaylandWayland", "Crafter.Graphics", "Crafter.Graphics-UiElement", "Crafter.Graphics-Types", "Crafter.Graphics-VulkanDevice", "Crafter.Graphics-VulkanPipeline", "Crafter.Graphics-VulkanShader", "Crafter.Graphics-WindowWaylandVulkan", "Crafter.Graphics-Camera", "Crafter.Graphics-VulkanBuffer", "Crafter.Graphics-Mesh", "Crafter.Graphics-MeshShader"], "module_files": ["Crafter.Graphics-Window","Crafter.Graphics-WindowWayland","Crafter.Graphics-WindowWaylandWayland", "Crafter.Graphics", "Crafter.Graphics-UiElement", "Crafter.Graphics-Types", "Crafter.Graphics-VulkanDevice", "Crafter.Graphics-VulkanPipeline", "Crafter.Graphics-VulkanShader", "Crafter.Graphics-WindowWaylandVulkan", "Crafter.Graphics-Camera", "Crafter.Graphics-VulkanBuffer", "Crafter.Graphics-Mesh", "Crafter.Graphics-MeshShader"],
"build_dir": "./build", "build_dir": "build",
"output_dir": "./bin", "output_dir": "bin",
"type":"library", "type":"library",
"libs": ["wayland-client", "vulkan"], "libs": ["wayland-client", "vulkan"],
"flags": ["-Wno-uninitialized"], "flags": ["-Wno-uninitialized"],
"shaders": [ "shaders": [
{ {
"path":"test.mesh", "path":"MeshShaderXYZ.mesh",
"type":13, "type":13,
"entrypoint":"main" "entrypoint":"main"
}, },
{ {
"path":"test2.frag", "path":"FragmentShaderSolidWhite.frag",
"type":4, "type":4,
"entrypoint":"main" "entrypoint":"main"
} }