From d18a38f9280c8902768cc458f666e8f01fef94a8 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Wed, 19 Mar 2025 12:48:21 +0100 Subject: [PATCH] yes --- Sources/Backends/Vulkan/VulkanImage.c | 1 - Sources/Backends/WebGPU/WebGPUBuffer.c | 4 ++-- Sources/PulseImage.c | 1 + Tests/Backend.c | 6 +++--- Tests/Common.c | 2 +- Tests/Shaders/WebGPU/ReadOnlyBindings.wgsl | 2 +- Tests/Shaders/WebGPU/ReadWriteBindings.wgsl | 2 +- Tests/Shaders/WebGPU/WriteOnlyBindings.wgsl | 2 +- Tests/xmake.lua | 1 + 9 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Sources/Backends/Vulkan/VulkanImage.c b/Sources/Backends/Vulkan/VulkanImage.c index 4739868..e05fe6e 100644 --- a/Sources/Backends/Vulkan/VulkanImage.c +++ b/Sources/Backends/Vulkan/VulkanImage.c @@ -108,7 +108,6 @@ PulseImage VulkanCreateImage(PulseDevice device, const PulseImageCreateInfo* cre uint32_t layer_count = (create_infos->type == PULSE_IMAGE_TYPE_3D) ? 1 : create_infos->layer_count_or_depth; uint32_t depth = (create_infos->type == PULSE_IMAGE_TYPE_3D) ? create_infos->layer_count_or_depth : 1; - image->device = device; image->driver_data = vulkan_image; VmaAllocationCreateInfo allocation_create_info = { 0 }; diff --git a/Sources/Backends/WebGPU/WebGPUBuffer.c b/Sources/Backends/WebGPU/WebGPUBuffer.c index 9dfdd48..83a6296 100644 --- a/Sources/Backends/WebGPU/WebGPUBuffer.c +++ b/Sources/Backends/WebGPU/WebGPUBuffer.c @@ -45,7 +45,7 @@ PulseBuffer WebGPUCreateBuffer(PulseDevice device, const PulseBufferCreateInfo* descriptor.usage |= WGPUBufferUsage_MapRead; } if(buffer->usage & PULSE_BUFFER_USAGE_TRANSFER_UPLOAD) - descriptor.usage |= WGPUBufferUsage_CopyDst | WGPUBufferUsage_CopySrc; + descriptor.usage |= WGPUBufferUsage_CopySrc; if(buffer->usage & PULSE_INTERNAL_BUFFER_USAGE_UNIFORM_ACCESS) descriptor.usage |= WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst | WGPUBufferUsage_CopySrc; @@ -74,7 +74,7 @@ static void WebGPUMapBufferCallback(WGPUMapAsyncStatus status, WGPUStringView me "mapping was aborted", }; if(PULSE_IS_BACKEND_LOW_LEVEL_DEBUG(buffer->device->backend)) - PulseLogErrorFmt(buffer->device->backend, "(WebGPU) buffer mapping failed because %s. %.*s", reasons[status], message.length, message.data); + PulseLogErrorFmt(buffer->device->backend, "(WebGPU) buffer mapping failed because %s. %.*s", reasons[status - 1], message.length, message.data); PulseSetInternalError(PULSE_ERROR_MAP_FAILED); atomic_store(mapping_finished, 2); } diff --git a/Sources/PulseImage.c b/Sources/PulseImage.c index d8ffb2e..b948faa 100644 --- a/Sources/PulseImage.c +++ b/Sources/PulseImage.c @@ -103,6 +103,7 @@ PULSE_API PulseImage PulseCreateImage(PulseDevice device, const PulseImageCreate if(image == PULSE_NULL_HANDLE) return PULSE_NULL_HANDLE; + image->device = device; image->type = create_infos->type; image->format = create_infos->format; image->usage = create_infos->usage; diff --git a/Tests/Backend.c b/Tests/Backend.c index 1fd6ec1..6a330a1 100644 --- a/Tests/Backend.c +++ b/Tests/Backend.c @@ -9,7 +9,7 @@ void DumbDebugCallBack(PulseDebugMessageSeverity severity, const char* message) (void)message; } -void TestVulkanSupport() +void TestBackendSupport() { #if defined(VULKAN_ENABLED) if(!PulseSupportsBackend(PULSE_BACKEND_VULKAN, PULSE_SHADER_FORMAT_SPIRV_BIT)) @@ -17,7 +17,7 @@ void TestVulkanSupport() if(!PulseSupportsBackend(PULSE_BACKEND_WEBGPU, PULSE_SHADER_FORMAT_WGSL_BIT)) #endif { - TEST_MESSAGE("Vulkan is not supported"); + TEST_MESSAGE("Backend is not supported"); exit(0); } } @@ -65,7 +65,7 @@ void TestWrongBackendSetup() void TestBackend() { - RUN_TEST(TestVulkanSupport); + RUN_TEST(TestBackendSupport); RUN_TEST(TestBackendSetup); RUN_TEST(TestBackendAnySetup); RUN_TEST(TestWrongBackendSetup); diff --git a/Tests/Common.c b/Tests/Common.c index 78b53ab..04eb45d 100644 --- a/Tests/Common.c +++ b/Tests/Common.c @@ -10,7 +10,7 @@ void DebugCallBack(PulseDebugMessageSeverity severity, const char* message) { if(errors_enabled && severity == PULSE_DEBUG_MESSAGE_SEVERITY_ERROR) { - fprintf(stderr, "%s", message); + fprintf(stderr, "%s\n", message); TEST_FAIL(); } has_recieved_error = true; diff --git a/Tests/Shaders/WebGPU/ReadOnlyBindings.wgsl b/Tests/Shaders/WebGPU/ReadOnlyBindings.wgsl index 3495545..b4123c5 100644 --- a/Tests/Shaders/WebGPU/ReadOnlyBindings.wgsl +++ b/Tests/Shaders/WebGPU/ReadOnlyBindings.wgsl @@ -1,4 +1,4 @@ -@group(0) @binding(0) var read_ssbo: array; +@group(0) @binding(0) var read_ssbo: array; @group(0) @binding(1) var read_texture: texture_storage_2d; @compute @workgroup_size(16, 16, 1) diff --git a/Tests/Shaders/WebGPU/ReadWriteBindings.wgsl b/Tests/Shaders/WebGPU/ReadWriteBindings.wgsl index 31b1913..44a312b 100644 --- a/Tests/Shaders/WebGPU/ReadWriteBindings.wgsl +++ b/Tests/Shaders/WebGPU/ReadWriteBindings.wgsl @@ -1,4 +1,4 @@ -@group(0) @binding(0) var read_ssbo: array; +@group(0) @binding(0) var read_ssbo: array; @group(0) @binding(1) var read_texture: texture_storage_2d; @group(1) @binding(0) var write_ssbo: array; @group(1) @binding(1) var write_texture: texture_storage_2d; diff --git a/Tests/Shaders/WebGPU/WriteOnlyBindings.wgsl b/Tests/Shaders/WebGPU/WriteOnlyBindings.wgsl index 96decc5..c20f6c3 100644 --- a/Tests/Shaders/WebGPU/WriteOnlyBindings.wgsl +++ b/Tests/Shaders/WebGPU/WriteOnlyBindings.wgsl @@ -1,5 +1,5 @@ @group(1) @binding(0) var write_ssbo: array; -@group(1) @binding(1) var write_texture: texture_storage_2d; +@group(1) @binding(1) var write_texture: texture_storage_2d; @compute @workgroup_size(16, 16, 1) fn main(@builtin(global_invocation_id) grid: vec3) diff --git a/Tests/xmake.lua b/Tests/xmake.lua index 1d17a41..67bfd45 100644 --- a/Tests/xmake.lua +++ b/Tests/xmake.lua @@ -113,6 +113,7 @@ if is_plat("linux") then add_requires("libbacktrace") end add_requires("unity_test") +-- add_requireconfs("unity_test", { configs = { cflags = "-D UNITY_OUTPUT_COLOR" }}) for name, module in table.orderpairs(tests) do if module.option then