From a54b9c62c8148183a50986bddeaea521851437cc Mon Sep 17 00:00:00 2001 From: jacob Date: Tue, 9 Dec 2025 13:03:34 -0600 Subject: [PATCH] use '.g' & '.gh' extensions for shader source files --- build.bat | 3 +- src/base/{base.h => base.cgh} | 90 ++++++++----------- src/base/base_inc.h | 6 +- src/base/{base_gpu.hlsl => base_shader.gh} | 2 +- src/gpu/gpu.lay | 6 +- src/gpu/gpu_common.c | 2 +- ..._shader_extras.h => gpu_shader_extras.cgh} | 2 +- ...hader_extras.hlsl => gpu_shader_extras.gh} | 3 +- src/meta/meta.c | 11 ++- src/meta/meta_lay.h | 4 +- .../meta_os/meta_os_win32/meta_os_win32.c | 4 +- src/pp/pp_vis/pp_vis.lay | 6 +- .../{pp_vis_shaders.h => pp_vis_shaders.cgh} | 0 .../{pp_vis_shaders.hlsl => pp_vis_shaders.g} | 0 src/pp_old/pp.lay | 6 +- src/pp_old/{pp_draw.h => pp_draw.cgh} | 0 src/pp_old/{pp_draw.hlsl => pp_draw.g} | 0 src/proto/proto.lay | 4 +- .../{proto_shaders.h => proto_shaders.cgh} | 0 .../{proto_shaders.hlsl => proto_shaders.g} | 0 src/ui/ui.lay | 6 +- src/ui/{ui_shaders.h => ui_shaders.cgh} | 0 src/ui/{ui_shaders.hlsl => ui_shaders.g} | 0 23 files changed, 72 insertions(+), 83 deletions(-) rename src/base/{base.h => base.cgh} (92%) rename src/base/{base_gpu.hlsl => base_shader.gh} (99%) rename src/gpu/{gpu_shader_extras.h => gpu_shader_extras.cgh} (97%) rename src/gpu/{gpu_shader_extras.hlsl => gpu_shader_extras.gh} (99%) rename src/pp/pp_vis/{pp_vis_shaders.h => pp_vis_shaders.cgh} (100%) rename src/pp/pp_vis/{pp_vis_shaders.hlsl => pp_vis_shaders.g} (100%) rename src/pp_old/{pp_draw.h => pp_draw.cgh} (100%) rename src/pp_old/{pp_draw.hlsl => pp_draw.g} (100%) rename src/proto/{proto_shaders.h => proto_shaders.cgh} (100%) rename src/proto/{proto_shaders.hlsl => proto_shaders.g} (100%) rename src/ui/{ui_shaders.h => ui_shaders.cgh} (100%) rename src/ui/{ui_shaders.hlsl => ui_shaders.g} (100%) diff --git a/build.bat b/build.bat index 5182a044..ece25327 100644 --- a/build.bat +++ b/build.bat @@ -6,7 +6,8 @@ pushd build for %%a in (%*) do set "%%a=1" set program_build_cmd=meta.exe %* -set meta_build_cmd=cl.exe ../src/meta/meta.c -Od -Z7 -nologo -diagnostics:column -WX -link -DEBUG:FULL -INCREMENTAL:NO +set meta_build_warnings=-W4 -WX -wd4244 -wd4201 -wd4324 -wd4100 -wd4101 -wd4189 +set meta_build_cmd=cl.exe ../src/meta/meta.c -Od -Z7 -nologo -diagnostics:column %meta_build_warnings% -link -DEBUG:FULL -INCREMENTAL:NO set meta_rebuild_code=1317212284 if "%--force_meta_build%"=="1" ( diff --git a/src/base/base.h b/src/base/base.cgh similarity index 92% rename from src/base/base.h rename to src/base/base.cgh index c9a2bb6a..9172c6f6 100644 --- a/src/base/base.h +++ b/src/base/base.cgh @@ -54,10 +54,10 @@ //- Language #if defined(__HLSL_VERSION) #define IsLanguageC 0 - #define IsLanguageHlsl 1 + #define IsLanguageG 1 #else #define IsLanguageC 1 - #define IsLanguageHlsl 0 + #define IsLanguageG 0 #endif //- Platform system @@ -73,7 +73,7 @@ #define IsPlatformWindows 0 #define IsPlatformMac 0 #define IsPlatformLinux 1 -#elif IsLanguageHlsl +#elif IsLanguageG #define IsPlatformWindows 0 #define IsPlatformMac 0 #define IsPlatformLinux 0 @@ -88,7 +88,7 @@ #elif defined(_M_ARM64) || defined(__aarch64__) #define IsArchX64 0 #define IsArchArm64 1 -#elif IsLanguageHlsl +#elif IsLanguageG #define IsArchX64 0 #define IsArchArm64 0 #else @@ -184,10 +184,10 @@ //- Read-only #if IsPlatformWindows #if IsCompilerMsvc - # pragma section(".rdata$", read) - # define Readonly __declspec(allocate(".rdata$")) + #pragma section(".rdata$", read) + #define Readonly __declspec(allocate(".rdata$")) #else - #define Readonly __declspec(allocate(".rdata")) + #define Readonly __declspec(allocate(".rdata$")) #endif #elif IsPlatformMac #define Readonly __attribute((section("__TEXT,__const"))) @@ -196,24 +196,15 @@ #endif //- Thread-local - #if IsCompilerMsvc #define ThreadLocal __declspec(thread) #endif - -//- Memory barriers +//- Compiler memory barriers #if IsCompilerMsvc - #define WriteBarrier() _WriteBarrier() - #define ReadBarrier() _ReadBarrier() -#elif defined(__x86_64) || defined(__i386__) - #define WriteBarrier() __asm__ volatile("" ::: "memory") - #define ReadBarrier() __asm__ volatile("" ::: "memory") -#elif IsLanguageHlsl - #define WriteBarrier() - #define ReadBarrier() -#else - #error Memory barriers not implemented + #define CompilerBarrier() _ReadWriteBarrier() +#elif IsArchX64 + #define CompilerBarrier() __asm__ volatile("" ::: "memory") #endif //- Fallthrough @@ -461,7 +452,7 @@ #define Packed(s) __pragma(pack(push, 1)) s __pragma(pack(pop)) #elif IsCompilerClang #define Packed(s) s __attribute((__packed__)) -#elif IsLanguageHlsl +#elif IsLanguageG #define Packed(s) s #endif @@ -492,7 +483,7 @@ typedef i8 b8; typedef u32 b32; Struct(U128) { u64 hi; u64 lo; }; -#elif IsLanguageHlsl +#elif IsLanguageG typedef int i32; typedef uint u32; typedef float f32; @@ -558,37 +549,34 @@ StaticAssert(alignof(Atomic64Padded) == CachelineSize && sizeof(Atomic64Padded) % CachelineSize == 0); #if IsPlatformWindows && IsArchX64 - //- Memory barriers - # define CompilerMemoryBarrier() _ReadWriteBarrier() - # define HardwareMemoryBarrier() MemoryBarrier() //- 8 bit atomic operations - ForceInline i8 Atomic8Fetch (Atomic8 *x) { i8 result = (x)->_v; CompilerMemoryBarrier(); return result; } - ForceInline void Atomic8Set (Atomic8 *x, i8 e) { CompilerMemoryBarrier(); (x)->_v = e; } - ForceInline i8 Atomic8FetchSet (Atomic8 *x, i8 e) { return (i8)_InterlockedExchange8((volatile char *)&(x)->_v, (e)); } - ForceInline i8 Atomic8FetchTestSet (Atomic8 *x, i8 c, i8 e) { return (i8)_InterlockedCompareExchange8((volatile char *)&(x)->_v, (e), (c)); } - ForceInline i8 Atomic8FetchXor (Atomic8 *x, i8 c) { return (i8)_InterlockedXor8((volatile char *)&(x)->_v, (c)); } - ForceInline i8 Atomic8FetchAdd (Atomic8 *x, i8 a) { return (i8)_InterlockedExchangeAdd8((volatile char *)&(x)->_v, (a)); } + ForceInline i8 Atomic8Fetch (Atomic8 *x) { CompilerBarrier(); i8 result = x->_v; CompilerBarrier(); return result; } + ForceInline void Atomic8Set (Atomic8 *x, i8 e) { CompilerBarrier(); x->_v = e; CompilerBarrier(); } + ForceInline i8 Atomic8FetchSet (Atomic8 *x, i8 e) { return (i8)_InterlockedExchange8((volatile char *)&x->_v, e); } + ForceInline i8 Atomic8FetchTestSet (Atomic8 *x, i8 c, i8 e) { return (i8)_InterlockedCompareExchange8((volatile char *)&x->_v, e, c); } + ForceInline i8 Atomic8FetchXor (Atomic8 *x, i8 c) { return (i8)_InterlockedXor8((volatile char *)&x->_v, c); } + ForceInline i8 Atomic8FetchAdd (Atomic8 *x, i8 a) { return (i8)_InterlockedExchangeAdd8((volatile char *)&x->_v, a); } //- 16 bit atomic operations - ForceInline i16 Atomic16Fetch (Atomic16 *x) { i16 result = (x)->_v; CompilerMemoryBarrier(); return result; } - ForceInline void Atomic16Set (Atomic16 *x, i16 e) { CompilerMemoryBarrier(); (x)->_v = e; } - ForceInline i16 Atomic16FetchSet (Atomic16 *x, i16 e) { return (i16)_InterlockedExchange16(&(x)->_v, (e)); } - ForceInline i16 Atomic16FetchTestSet (Atomic16 *x, i16 c, i16 e) { return (i16)_InterlockedCompareExchange16(&(x)->_v, (e), (c)); } - ForceInline i16 Atomic16FetchXor (Atomic16 *x, i16 c) { return (i16)_InterlockedXor16(&(x)->_v, (c)); } - ForceInline i16 Atomic16FetchAdd (Atomic16 *x, i16 a) { return (i16)_InterlockedExchangeAdd16(&(x)->_v, (a)); } + ForceInline i16 Atomic16Fetch (Atomic16 *x) { CompilerBarrier(); i16 result = x->_v; CompilerBarrier(); return result; } + ForceInline void Atomic16Set (Atomic16 *x, i16 e) { CompilerBarrier(); x->_v = e; CompilerBarrier(); } + ForceInline i16 Atomic16FetchSet (Atomic16 *x, i16 e) { return (i16)_InterlockedExchange16(&x->_v, e); } + ForceInline i16 Atomic16FetchTestSet (Atomic16 *x, i16 c, i16 e) { return (i16)_InterlockedCompareExchange16(&x->_v, e, c); } + ForceInline i16 Atomic16FetchXor (Atomic16 *x, i16 c) { return (i16)_InterlockedXor16(&x->_v, c); } + ForceInline i16 Atomic16FetchAdd (Atomic16 *x, i16 a) { return (i16)_InterlockedExchangeAdd16(&x->_v, a); } //- 32 bit atomic operations - ForceInline i32 Atomic32Fetch (Atomic32 *x) { i32 result = (x)->_v; CompilerMemoryBarrier(); return result; } - ForceInline void Atomic32Set (Atomic32 *x, i32 e) { CompilerMemoryBarrier(); (x)->_v = e; } - ForceInline i32 Atomic32FetchSet (Atomic32 *x, i32 e) { return (i32)_InterlockedExchange((volatile long *)&(x)->_v, (e)); } - ForceInline i32 Atomic32FetchTestSet (Atomic32 *x, i32 c, i32 e) { return (i32)_InterlockedCompareExchange((volatile long *)&(x)->_v, (e), (c)); } - ForceInline i32 Atomic32FetchXor (Atomic32 *x, i32 c) { return (i32)_InterlockedXor((volatile long *)&(x)->_v, (c)); } - ForceInline i32 Atomic32FetchAdd (Atomic32 *x, i32 a) { return (i32)_InterlockedExchangeAdd((volatile long *)&(x)->_v, (a)); } + ForceInline i32 Atomic32Fetch (Atomic32 *x) { CompilerBarrier(); i32 result = x->_v; CompilerBarrier(); return result; } + ForceInline void Atomic32Set (Atomic32 *x, i32 e) { CompilerBarrier(); x->_v = e; CompilerBarrier(); } + ForceInline i32 Atomic32FetchSet (Atomic32 *x, i32 e) { return (i32)_InterlockedExchange((volatile long *)&x->_v, e); } + ForceInline i32 Atomic32FetchTestSet (Atomic32 *x, i32 c, i32 e) { return (i32)_InterlockedCompareExchange((volatile long *)&x->_v, e, c); } + ForceInline i32 Atomic32FetchXor (Atomic32 *x, i32 c) { return (i32)_InterlockedXor((volatile long *)&x->_v, c); } + ForceInline i32 Atomic32FetchAdd (Atomic32 *x, i32 a) { return (i32)_InterlockedExchangeAdd((volatile long *)&x->_v, a); } //- 64 bit atomic operations - ForceInline i64 Atomic64Fetch (Atomic64 *x) { i64 result = (x)->_v; CompilerMemoryBarrier(); return result; } - ForceInline void Atomic64Set (Atomic64 *x, i64 e) { CompilerMemoryBarrier(); (x)->_v = e; } - ForceInline i64 Atomic64FetchSet (Atomic64 *x, i64 e) { return (i64)_InterlockedExchange64(&(x)->_v, (e)); } - ForceInline i64 Atomic64FetchTestSet (Atomic64 *x, i64 c, i64 e) { return (i64)_InterlockedCompareExchange64(&(x)->_v, (e), (c)); } - ForceInline i64 Atomic64FetchXor (Atomic64 *x, i64 c) { return (i64)_InterlockedXor64(&(x)->_v, (c)); } - ForceInline i64 Atomic64FetchAdd (Atomic64 *x, i64 a) { return (i64)_InterlockedExchangeAdd64(&(x)->_v, (a)); } + ForceInline i64 Atomic64Fetch (Atomic64 *x) { CompilerBarrier(); i64 result = x->_v; CompilerBarrier(); return result; } + ForceInline void Atomic64Set (Atomic64 *x, i64 e) { CompilerBarrier(); x->_v = e; CompilerBarrier(); } + ForceInline i64 Atomic64FetchSet (Atomic64 *x, i64 e) { return (i64)_InterlockedExchange64(&x->_v, e); } + ForceInline i64 Atomic64FetchTestSet (Atomic64 *x, i64 c, i64 e) { return (i64)_InterlockedCompareExchange64(&x->_v, e, c); } + ForceInline i64 Atomic64FetchXor (Atomic64 *x, i64 c) { return (i64)_InterlockedXor64(&x->_v, c); } + ForceInline i64 Atomic64FetchAdd (Atomic64 *x, i64 a) { return (i64)_InterlockedExchangeAdd64(&x->_v, a); } #else #error Atomics not implemented #endif @@ -717,7 +705,7 @@ Struct(VertexShader) { ResourceKey resource; }; Struct(PixelShader) { ResourceKey resource; }; Struct(ComputeShader) { ResourceKey resource; }; -#elif IsLanguageHlsl +#elif IsLanguageG #define Semantic(t, n) t n : n #define ComputeShader(name, x) [numthreads(x, 1, 1)] void name(Semantic(u32, SV_DispatchThreadID)) #define ComputeShader2D(name, x, y) [numthreads(x, y, 1)] void name(Semantic(Vec2U32, SV_DispatchThreadID)) @@ -772,7 +760,7 @@ Struct(SamplerStateHandle) { u32 v; }; StaticAssert(slot < MaxDeclarableShaderConstants); \ Enum(name##__shaderconstantenum) { name = slot }; \ Struct(name##__shaderconstanttype) { type v; } -#elif IsLanguageHlsl +#elif IsLanguageG #define ShaderConstant(type, name, slot) cbuffer name : register(b##slot) { type name; } cbuffer IsAsyncCompute : register(b31) { b32 IsAsyncCompute; } diff --git a/src/base/base_inc.h b/src/base/base_inc.h index eaab4b5f..a7ab1501 100644 --- a/src/base/base_inc.h +++ b/src/base/base_inc.h @@ -3,7 +3,7 @@ // that it may be depended on by the metaprogram. //- Api -#include "base.h" +#include "base.cgh" #if IsLanguageC # include "base_intrinsics.h" # include "base_memory.h" @@ -26,8 +26,8 @@ # include "base_bitbuff.h" # include "base_resource.h" # include "base_controller.h" -#elif IsLanguageHlsl -# include "base_gpu.hlsl" +#elif IsLanguageG +# include "base_shader.gh" #endif //- Impl diff --git a/src/base/base_gpu.hlsl b/src/base/base_shader.gh similarity index 99% rename from src/base/base_gpu.hlsl rename to src/base/base_shader.gh index 79d39485..e532b55c 100644 --- a/src/base/base_gpu.hlsl +++ b/src/base/base_shader.gh @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////// -//~ Gpu math types +//~ Shader math types #define Pi ((f32)3.14159265358979323846) #define Tau ((f32)6.28318530717958647693) diff --git a/src/gpu/gpu.lay b/src/gpu/gpu.lay index 8990059f..88e309e2 100644 --- a/src/gpu/gpu.lay +++ b/src/gpu/gpu.lay @@ -5,13 +5,13 @@ //- Api @IncludeC gpu_core.h -@IncludeC gpu_shader_extras.h +@IncludeC gpu_shader_extras.cgh @IncludeC gpu_common.h -@IncludeGpu gpu_shader_extras.h +@IncludeG gpu_shader_extras.cgh +@IncludeG gpu_shader_extras.gh //- Impl @IncludeC gpu_common.c -@IncludeGpu gpu_shader_extras.hlsl //- Dx12 impl @DefaultWindowsImpl gpu_dx12 diff --git a/src/gpu/gpu_common.c b/src/gpu/gpu_common.c index c9cede75..20f523d8 100644 --- a/src/gpu/gpu_common.c +++ b/src/gpu/gpu_common.c @@ -83,7 +83,7 @@ GPU_ResourceHandle GPU_PushBufferFromCpu(GPU_ArenaHandle gpu_arena, GPU_CommandL GPU_MemorySync( cl, buffer, GPU_Stage_Copy, GPU_Access_CopyWrite, - GPU_Stage_AllShading, GPU_Access_ShaderRead + GPU_Stage_All, GPU_Access_All ); return buffer; } diff --git a/src/gpu/gpu_shader_extras.h b/src/gpu/gpu_shader_extras.cgh similarity index 97% rename from src/gpu/gpu_shader_extras.h rename to src/gpu/gpu_shader_extras.cgh index 225c9e1b..9b04f949 100644 --- a/src/gpu/gpu_shader_extras.h +++ b/src/gpu/gpu_shader_extras.cgh @@ -3,7 +3,7 @@ #if IsLanguageC #define GPU_SharedHandle(type, v) ((type) { (v) }) -#elif IsLanguageHlsl +#elif IsLanguageG #define GPU_SharedHandle(type, v) (type(v)) #endif diff --git a/src/gpu/gpu_shader_extras.hlsl b/src/gpu/gpu_shader_extras.gh similarity index 99% rename from src/gpu/gpu_shader_extras.hlsl rename to src/gpu/gpu_shader_extras.gh index b1a2c7b8..f9701583 100644 --- a/src/gpu/gpu_shader_extras.hlsl +++ b/src/gpu/gpu_shader_extras.gh @@ -5,7 +5,8 @@ * https://therealmjp.github.io/posts/hlsl-printf/ */ -template u32 U32FromChar(in T c) +template +u32 U32FromChar(in T c) { if(c == ' ') return 32; diff --git a/src/meta/meta.c b/src/meta/meta.c index e93bdea8..844f81d6 100644 --- a/src/meta/meta.c +++ b/src/meta/meta.c @@ -38,7 +38,7 @@ LineCol LineColFromPos(String data, i64 pos) { TempArena scratch = BeginScratchNoConflict(); LineCol result = ZI; - for (u64 cur = 0; cur < data.len && cur <= pos; ++cur) + for (u64 cur = 0; cur < data.len && cur <= (u64)pos; ++cur) { u8 c = data.text[cur]; if (c == '\n') @@ -356,7 +356,7 @@ void BuildEntryPoint(WaveLaneCtx *lane) PushStringToList(perm, &cp.warnings_msvc, Lit("-W4")); PushStringToList(perm, &cp.warnings_msvc, Lit("-WX")); // PushStringToList(perm, &cp.warnings_msvc, Lit("-we4013")); /* function undefined; assuming extern returning int */ - PushStringToList(perm, &cp.warnings_msvc, Lit("-we4668")); /* 'X' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' + PushStringToList(perm, &cp.warnings_msvc, Lit("-we4668")); /* 'X' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' */ /* Disable warnings */ PushStringToList(perm, &cp.warnings_msvc, Lit("-wd4244")); /* 'function': conversion from 'int' to 'f32', possible loss of data */ @@ -437,8 +437,8 @@ void BuildEntryPoint(WaveLaneCtx *lane) /* TODO: Dispatch OS commands asynchronously */ String shader_store_name = Lit("ShadersStore"); - String c_out_file = F_GetFull(perm, StringF(perm, "%F_gen_c.c", FmtString(cmdline.leaf_layer_name))); - String gpu_out_file = F_GetFull(perm, StringF(perm, "%F_gen_gpu.hlsl", FmtString(cmdline.leaf_layer_name))); + String c_out_file = F_GetFull(perm, StringF(perm, "%F_gen.c", FmtString(cmdline.leaf_layer_name))); + String gpu_out_file = F_GetFull(perm, StringF(perm, "%F_gen.g", FmtString(cmdline.leaf_layer_name))); if (lane->idx == 0 && GetBuildStatus() == 0) { @@ -462,7 +462,6 @@ void BuildEntryPoint(WaveLaneCtx *lane) //- Generate C file { - String c_out_file = F_GetFull(perm, StringF(perm, "%F_gen_c.c", FmtString(cmdline.leaf_layer_name))); StringList c_store_lines = ZI; StringList c_shader_lines = ZI; StringList c_include_lines = ZI; @@ -663,7 +662,7 @@ void BuildEntryPoint(WaveLaneCtx *lane) switch (kind) { default: break; - case M_EntryKind_IncludeGpu: + case M_EntryKind_IncludeG: { if (arg0_tok->valid) { diff --git a/src/meta/meta_lay.h b/src/meta/meta_lay.h index 77dc970d..f7c835b9 100644 --- a/src/meta/meta_lay.h +++ b/src/meta/meta_lay.h @@ -75,7 +75,7 @@ Enum(M_EntryKind) M_EntryKind_Layer, M_EntryKind_Dep, M_EntryKind_IncludeC, - M_EntryKind_IncludeGpu, + M_EntryKind_IncludeG, M_EntryKind_DefaultWindowsImpl, M_EntryKind_Startup, M_EntryKind_VertexShader, @@ -88,7 +88,7 @@ Global Readonly char *M_entry_kind_rules[] = { [M_EntryKind_Layer] = "@Layer", [M_EntryKind_Dep] = "@Dep", [M_EntryKind_IncludeC] = "@IncludeC", - [M_EntryKind_IncludeGpu] = "@IncludeGpu", + [M_EntryKind_IncludeG] = "@IncludeG", [M_EntryKind_DefaultWindowsImpl] = "@DefaultWindowsImpl", [M_EntryKind_Startup] = "@Startup", [M_EntryKind_VertexShader] = "@VertexShader", diff --git a/src/meta/meta_os/meta_os_win32/meta_os_win32.c b/src/meta/meta_os/meta_os_win32/meta_os_win32.c index 35f0f8cc..306095f1 100644 --- a/src/meta/meta_os/meta_os_win32/meta_os_win32.c +++ b/src/meta/meta_os/meta_os_win32/meta_os_win32.c @@ -84,7 +84,7 @@ String OS_ReadEntireFile(Arena *arena, OS_File file) for (;;) { u8 *chunk = PushStructsNoZero(arena, u8, chunk_size); - u32 chunk_bytes_read = 0; + DWORD chunk_bytes_read = 0; ReadFile(handle, chunk, chunk_size, &chunk_bytes_read, 0); result.len += chunk_bytes_read; if (chunk_bytes_read < chunk_size) @@ -302,7 +302,7 @@ OS_CommandResult OS_RunCommand(Arena *arena, String cmd) { result.output.text = ArenaNext(arena, u8); b32 exit_code_valid = 0; - i32 exit_code = 0; + DWORD exit_code = 0; b32 stdout_finished = 0; while (!stdout_finished) { diff --git a/src/pp/pp_vis/pp_vis.lay b/src/pp/pp_vis/pp_vis.lay index f7d6069b..f3219bdd 100644 --- a/src/pp/pp_vis/pp_vis.lay +++ b/src/pp/pp_vis/pp_vis.lay @@ -10,16 +10,16 @@ //- Api @IncludeC pp_vis_widgets.h -@IncludeC pp_vis_shaders.h +@IncludeC pp_vis_shaders.cgh @IncludeC pp_vis_draw.h @IncludeC pp_vis_core.h -@IncludeGpu pp_vis_shaders.h +@IncludeG pp_vis_shaders.cgh //- Impl @IncludeC pp_vis_widgets.c @IncludeC pp_vis_draw.c @IncludeC pp_vis_core.c -@IncludeGpu pp_vis_shaders.hlsl +@IncludeG pp_vis_shaders.g //- Embeds @EmbedDir V_Resources pp_vis_res diff --git a/src/pp/pp_vis/pp_vis_shaders.h b/src/pp/pp_vis/pp_vis_shaders.cgh similarity index 100% rename from src/pp/pp_vis/pp_vis_shaders.h rename to src/pp/pp_vis/pp_vis_shaders.cgh diff --git a/src/pp/pp_vis/pp_vis_shaders.hlsl b/src/pp/pp_vis/pp_vis_shaders.g similarity index 100% rename from src/pp/pp_vis/pp_vis_shaders.hlsl rename to src/pp/pp_vis/pp_vis_shaders.g diff --git a/src/pp_old/pp.lay b/src/pp_old/pp.lay index a9153b7b..91d0b89c 100644 --- a/src/pp_old/pp.lay +++ b/src/pp_old/pp.lay @@ -20,9 +20,9 @@ @IncludeC pp_ent.h @IncludeC pp_step.h @IncludeC pp_widgets.h -@IncludeC pp_draw.h +@IncludeC pp_draw.cgh +@IncludeG pp_draw.cgh @IncludeC pp.h -@IncludeGpu pp_draw.h //- Impl @IncludeC pp_sim.c @@ -32,7 +32,7 @@ @IncludeC pp_step.c @IncludeC pp_widgets.c @IncludeC pp.c -@IncludeGpu pp_draw.gpu +@IncludeG pp_draw.g //- Embeds @EmbedDir PP_Resources pp_res diff --git a/src/pp_old/pp_draw.h b/src/pp_old/pp_draw.cgh similarity index 100% rename from src/pp_old/pp_draw.h rename to src/pp_old/pp_draw.cgh diff --git a/src/pp_old/pp_draw.hlsl b/src/pp_old/pp_draw.g similarity index 100% rename from src/pp_old/pp_draw.hlsl rename to src/pp_old/pp_draw.g diff --git a/src/proto/proto.lay b/src/proto/proto.lay index 0fd7b279..541ee050 100644 --- a/src/proto/proto.lay +++ b/src/proto/proto.lay @@ -7,11 +7,11 @@ //- Api @IncludeC proto_shaders.h -@IncludeGpu proto_shaders.h +@IncludeG proto_shaders.h //- Impl @IncludeC proto.c -@IncludeGpu proto_shaders.hlsl +@IncludeG proto_shaders.g //- Shaders @ComputeShader PT_TestCS diff --git a/src/proto/proto_shaders.h b/src/proto/proto_shaders.cgh similarity index 100% rename from src/proto/proto_shaders.h rename to src/proto/proto_shaders.cgh diff --git a/src/proto/proto_shaders.hlsl b/src/proto/proto_shaders.g similarity index 100% rename from src/proto/proto_shaders.hlsl rename to src/proto/proto_shaders.g diff --git a/src/ui/ui.lay b/src/ui/ui.lay index 06c4b56a..2480ce7d 100644 --- a/src/ui/ui.lay +++ b/src/ui/ui.lay @@ -8,13 +8,13 @@ //- Api @IncludeC ui_core.h @IncludeC ui_extras.h -@IncludeC ui_shaders.h -@IncludeGpu ui_shaders.h +@IncludeC ui_shaders.cgh +@IncludeG ui_shaders.cgh //- Impl @IncludeC ui_core.c @IncludeC ui_extras.c -@IncludeGpu ui_shaders.hlsl +@IncludeG ui_shaders.g //- Shaders @VertexShader UI_DRectVS diff --git a/src/ui/ui_shaders.h b/src/ui/ui_shaders.cgh similarity index 100% rename from src/ui/ui_shaders.h rename to src/ui/ui_shaders.cgh diff --git a/src/ui/ui_shaders.hlsl b/src/ui/ui_shaders.g similarity index 100% rename from src/ui/ui_shaders.hlsl rename to src/ui/ui_shaders.g