| 45 | } |
| 46 | |
| 47 | inline static void read_shader_bytes(const char8_t* virtual_path, uint32_t** bytes, uint32_t* length, ECGPUBackend backend) |
| 48 | { |
| 49 | char8_t shader_file[256]; |
| 50 | const char8_t* shader_path = SKR_UTF8("./../resources/shaders/"); |
| 51 | strcpy((char*)shader_file, (const char*)shader_path); |
| 52 | strcat((char*)shader_file, (const char*)virtual_path); |
| 53 | switch (backend) |
| 54 | { |
| 55 | case CGPU_BACKEND_VULKAN: |
| 56 | strcat((char*)shader_file, (const char*)SKR_UTF8(".spv")); |
| 57 | break; |
| 58 | case CGPU_BACKEND_D3D12: |
| 59 | case CGPU_BACKEND_XBOX_D3D12: |
| 60 | strcat((char*)shader_file, (const char*)SKR_UTF8(".dxil")); |
| 61 | break; |
| 62 | default: |
| 63 | break; |
| 64 | } |
| 65 | read_bytes(shader_file, bytes, length); |
| 66 | } |
| 67 | |
| 68 | #ifdef __cplusplus |
| 69 | #include <type_traits> |
no test coverage detected