mirror of
https://github.com/libretro/citra.git
synced 2024-10-06 22:23:23 +00:00
Makefile fix shaders target
This commit is contained in:
parent
2ba07513c9
commit
5db1d0bd9e
39
Makefile
39
Makefile
@ -104,8 +104,8 @@ ifeq ($(platform), unix)
|
||||
fpic := -fPIC
|
||||
SHARED := -shared -Wl,--version-script=$(SRC_DIR)/citra_libretro/link.T -Wl,--no-undefined
|
||||
LIBS +=-lpthread -lGL -ldl
|
||||
HAVE_FFMPEG = 1
|
||||
HAVE_FFMPEG_STATIC = 1
|
||||
#HAVE_FFMPEG = 1
|
||||
#HAVE_FFMPEG_STATIC = 1
|
||||
ifeq ($(HAVE_FFMPEG_STATIC), 1)
|
||||
LIBS += $(EXTERNALS_DIR)/ffmpeg/libavcodec/libavcodec.a $(EXTERNALS_DIR)/ffmpeg/libavutil/libavutil.a
|
||||
else
|
||||
@ -356,7 +356,7 @@ DYNARMICFLAGS += -D__LIBRETRO__ $(fpic) $(DEFINES) $(DYNARMICINCFLAGS) $(INCFLAG
|
||||
CXXFLAGS += -D__LIBRETRO__ $(fpic) $(DEFINES) $(INCFLAGS) $(INCFLAGS_PLATFORM)
|
||||
|
||||
OBJOUT = -o
|
||||
LINKOUT = -o
|
||||
LINKOUT = -o
|
||||
|
||||
ifneq (,$(findstring msvc,$(platform)))
|
||||
OBJOUT = -Fo
|
||||
@ -418,20 +418,39 @@ $(foreach p,$(OBJECTS),$(if $(findstring $(EXTERNALS_DIR)/dynarmic/src,$p),$p,))
|
||||
|
||||
clean:
|
||||
rm -f $(OBJECTS) $(TARGET)
|
||||
rm -rf $(SRC_DIR)/video_core/shaders
|
||||
ifeq ($(HAVE_FFMPEG_STATIC), 1)
|
||||
cd $(EXTERNALS_DIR)/ffmpeg && $(MAKE) clean
|
||||
endif
|
||||
|
||||
GLSLANG := glslang
|
||||
ifeq (, $(shell which $(GLSLANG)))
|
||||
GLSLANG := glslangValidator
|
||||
ifeq (, $(shell which $(GLSLANG)))
|
||||
$(error Required program `glslang` (or `glslangValidator`) not found.)
|
||||
endif
|
||||
endif
|
||||
|
||||
shaders: $(SHADER_FILES)
|
||||
mkdir -p $(SRC_DIR)/video_core/shaders
|
||||
for SHADER_FILE in $^; do \
|
||||
OUT_DIR=$$(dirname "$(SRC_DIR)/video_core/shaders/$$SHADER_FILE"); \
|
||||
FILENAME=$$(basename "$$SHADER_FILE"); \
|
||||
SHADER_NAME=$$(echo "$$FILENAME" | sed -e "s/\./_/g"); \
|
||||
rm -f $(SRC_DIR)/video_core/shaders/$$FILENAME; \
|
||||
echo "#pragma once" >> $(SRC_DIR)/video_core/shaders/$$FILENAME; \
|
||||
echo "constexpr std::string_view $$SHADER_NAME = R\"(" >> $(SRC_DIR)/video_core/shaders/$$FILENAME; \
|
||||
cat $$SHADER_FILE >> $(SRC_DIR)/video_core/shaders/$$FILENAME; \
|
||||
echo ")\";" >> $(SRC_DIR)/video_core/shaders/$$FILENAME; \
|
||||
SHADER_NAME=$$(echo "$$FILENAME" | sed -e 's/\./_/g'); \
|
||||
OUT_FILE="$$OUT_DIR/$$SHADER_NAME"; \
|
||||
if [ "$$FILENAME" = "$${FILENAME#vulkan}" ]; then \
|
||||
SHADER_CONTENT=$$(cat $$SHADER_FILE | sed -e 's/"/'\''/g'); \
|
||||
SHADER_CONTENT=$$(echo "$$SHADER_CONTENT" | sed -e 's/.*/"&'\\\\\\\\'n"/'); \
|
||||
mkdir -p "$$OUT_DIR"; \
|
||||
echo "$$SHADER_CONTENT" > $$OUT_FILE; \
|
||||
cat $(SRC_DIR)/video_core/host_shaders/source_shader.h.in | sed -e "s/@CONTENTS_NAME@/$$(echo $$SHADER_NAME | tr '[a-z]' '[A-Z]')/" > $$OUT_FILE.h; \
|
||||
sed -i -e "/@CONTENTS@/ { r $$OUT_FILE" -e "d }" $$OUT_FILE.h; \
|
||||
rm -f $$OUT_FILE; \
|
||||
fi; \
|
||||
if [ "$$FILENAME" = "$${FILENAME#opengl}" ]; then \
|
||||
SHADER_NAME=$${SHADER_NAME}_spv; \
|
||||
$(GLSLANG) --target-env vulkan1.1 --glsl-version 450 -Dgl_VertexID=gl_VertexIndex \
|
||||
--variable-name $$(echo $$SHADER_NAME | tr '[a-z]' '[A-Z]') -o $${OUT_FILE}_spv.h $$SHADER_FILE; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
INCFLAGS := -I$(SRC_DIR) \
|
||||
-I$(SRC_DIR)/video_core \
|
||||
-I$(SRC_DIR)/video_core/shaders/src \
|
||||
-I$(EXTERNALS_DIR) \
|
||||
-I$(EXTERNALS_DIR)/dynarmic/include \
|
||||
-I$(EXTERNALS_DIR)/enet/include \
|
||||
@ -733,14 +734,24 @@ SOURCES_CXX += $(SRC_DIR)/citra_libretro/emu_window/libretro_window.cpp \
|
||||
$(SRC_DIR)/citra_libretro/core_settings.cpp \
|
||||
$(SRC_DIR)/citra_libretro/libretro_logger.cpp
|
||||
|
||||
SHADER_FILES += $(SRC_DIR)/video_core/renderer_opengl/depth_to_color.vert \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/depth_to_color.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/ds_to_color.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/anime4k/refine.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/anime4k/x_gradient.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/anime4k/y_gradient.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/bicubic/bicubic.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/scale_force/scale_force.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/tex_coord.vert \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.frag \
|
||||
$(SRC_DIR)/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.vert
|
||||
SHADER_FILES += $(SRC_DIR)/video_core/host_shaders/format_reinterpreter/d24s8_to_rgba8.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/format_reinterpreter/rgba4_to_rgb5a1.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/format_reinterpreter/vulkan_d24s8_to_rgba8.comp \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/bicubic.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/refine.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/scale_force.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/xbrz_freescale.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/mmpx.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/x_gradient.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/texture_filtering/y_gradient.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/full_screen_triangle.vert \
|
||||
$(SRC_DIR)/video_core/host_shaders/opengl_present.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/opengl_present.vert \
|
||||
$(SRC_DIR)/video_core/host_shaders/opengl_present_anaglyph.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/opengl_present_interlaced.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_depth_to_buffer.comp \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_present.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_present.vert \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_present_anaglyph.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_present_interlaced.frag \
|
||||
$(SRC_DIR)/video_core/host_shaders/vulkan_blit_depth_stencil.frag
|
||||
|
Loading…
Reference in New Issue
Block a user