mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-04-07 18:01:30 +00:00
[vulkan] Use qfcc for compute shaders
While there's still a duplicate type bug causing validation failure for partupdate.comp, everything builds. Also clean up a few build issues surrounding shaders.
This commit is contained in:
parent
ed84bbb532
commit
67003c146a
2 changed files with 17 additions and 12 deletions
16
Makefile.am
16
Makefile.am
|
@ -99,7 +99,7 @@ QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide
|
|||
QCPPFLAGS=$(QCSYSTEM)
|
||||
QCLINKFLAGS=--no-default-paths -Lruamoko/lib
|
||||
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
|
||||
QSPIRV=$(QFCC) -q -Cc-array,target=spir-v -O
|
||||
QSPIRV=$(QCOMPILE) -Cc-array,target=spir-v
|
||||
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
|
@ -110,7 +110,7 @@ qfcc_compile=\
|
|||
$(am__mv) $$depbase.Tqo $$depbase.Qo
|
||||
|
||||
qfcc_spirv=\
|
||||
$(V_QFCC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(V_QFCC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.spvc$$||'`;\
|
||||
$(QSPIRV) $(1) -MT $@ -MD -MP -MF $$depbase.Tqo -c -o $@ $< &&\
|
||||
sed -i -e '1s@:@: $(QFCC_DEP)@' $$depbase.Tqo &&\
|
||||
$(am__mv) $$depbase.Tqo $$depbase.Qo
|
||||
|
@ -164,16 +164,16 @@ SUFFICES += .plist .plc
|
|||
$(V_GLSLANG)(((($(GLSLANGVALIDATOR) --vn `basename $< | tr . _` -V $< -o $@; echo $$? >&3) | sed -e '1d' 1>&2) 3>&1) | (read xs; exit $$xs))
|
||||
|
||||
%.vert.spvc: %.vert
|
||||
@$(mkdir_p) $(builddir)/`dirname $@`
|
||||
$(V_QFCC)$(QFCC) -q -c -O -Cc-array,target=spir-v -o $@ $<
|
||||
$(qfcc_spirv)
|
||||
|
||||
%.geom.spvc: %.geom
|
||||
@$(mkdir_p) $(builddir)/`dirname $@`
|
||||
$(V_QFCC)$(QFCC) -q -c -O -Cc-array,target=spir-v -o $@ $<
|
||||
$(qfcc_spirv)
|
||||
|
||||
%.frag.spvc: %.frag
|
||||
@$(mkdir_p) $(builddir)/`dirname $@`
|
||||
$(V_QFCC)$(QFCC) -q -c -O -Cc-array,target=spir-v -o $@ $<
|
||||
$(qfcc_spirv)
|
||||
|
||||
%.comp.spvc: %.comp
|
||||
$(qfcc_spirv)
|
||||
|
||||
sharepath = @sharepath@
|
||||
shaderdir = @shaderdir@
|
||||
|
|
|
@ -107,7 +107,7 @@ shader_gen = \
|
|||
$(glslshaderpath)/quakeforge.slc \
|
||||
$(glslshaderpath)/sgustavson.slc
|
||||
|
||||
SUFFIXES += .frag .vert .spv .spvc .fc .vc .slc .glsl
|
||||
SUFFIXES += .geom .comp .frag .vert .spv .spvc .fc .vc .slc .glsl
|
||||
.glsl.slc:
|
||||
$(V_SED)sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' $< > $@.t &&\
|
||||
$(am__mv) $@.t $@
|
||||
|
@ -565,18 +565,23 @@ vkshader_src_frag = \
|
|||
$(fisheye_src) \
|
||||
$(waterwarp_src)
|
||||
|
||||
vkshader_src_comp = \
|
||||
$(partphysicsc_src) \
|
||||
$(partupdatec_src)
|
||||
|
||||
vkshader_c_vert=$(call spvautoc,$(vkshader_src_vert))
|
||||
vkshader_c_geom=$(call spvautoc,$(vkshader_src_geom))
|
||||
vkshader_c_frag=$(call spvautoc,$(vkshader_src_frag))
|
||||
vkshader_c_comp=$(call spvautoc,$(vkshader_src_comp))
|
||||
|
||||
vkshader_src = $(vkshader_src_vert) $(vkshader_src_geom) $(vkshader_src_frag)
|
||||
vkshader_src = $(vkshader_src_vert) $(vkshader_src_geom) $(vkshader_src_frag) \
|
||||
$(vkshader_src_comp)
|
||||
vkshader_dep = $(call spvcautodep, $(vkshader_src))
|
||||
include $(vkshader_dep) # am--include-marker
|
||||
spvc_depfiles_remade += $(vkshader_dep)
|
||||
|
||||
vkshader_c = $(vkshader_c_vert) $(vkshader_c_geom) $(vkshader_c_frag) \
|
||||
$(partphysicsc_c) \
|
||||
$(partupdatec_c)
|
||||
$(vkshader_c_comp)
|
||||
|
||||
V_VKGEN = $(V_VKGEN_@AM_V@)
|
||||
V_VKGEN_ = $(V_VKGEN_@AM_DEFAULT_V@)
|
||||
|
|
Loading…
Reference in a new issue