Binary that renders a triangle using Vulkan, scans the resulting image to a PNG, and makes an occlusion query to determine the number of fragments shaded. To be used in developing Turnip.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

Makefile 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. ifeq ($(target), cheza)
  2. CXX = /usr/bin/armv7a-cros-linux-gnueabihf-clang++
  3. CC = /usr/bin/armv7a-cros-linux-gnueabihf-clang
  4. SYSROOT = /build/cheza
  5. SSH_DUT = cheza
  6. else ifeq ($(target), atlas)
  7. CXX = /usr/bin/x86_64-cros-linux-gnu-clang++
  8. CC = /usr/bin/x86_64-cros-linux-gnu-clang
  9. SYSROOT = /build/atlas
  10. SSH_DUT = atlas
  11. else ifeq ($(target), local)
  12. CXX = clang++
  13. CC = clang
  14. else
  15. CXX = INVALID
  16. CC = INVALID
  17. endif
  18. NAME = occlusion
  19. CFLAGS = -std=c++17 --sysroot="$(SYSROOT)" -Wall
  20. LDFLAGS = -lvulkan -lpng
  21. all: build deploy run
  22. build: check
  23. @echo Building...
  24. @$(CXX) $(CFLAGS) -o ${NAME} ${NAME}.cc $(LDFLAGS)
  25. deploy: check
  26. ifneq ($(target), local)
  27. @echo Deploying to $(SSH_DUT)...
  28. @scp ${NAME}.vert.spv $(SSH_DUT):~/${NAME}.vert.spv
  29. @scp ${NAME}.frag.spv $(SSH_DUT):~/${NAME}.frag.spv
  30. @scp ${NAME} $(SSH_DUT):~/
  31. endif
  32. run: check
  33. ifneq ($(target), local)
  34. @echo Running on $(SSH_DUT)...
  35. @ssh $(SSH_DUT) '~/${NAME}'
  36. @echo Copying artifacts back to local device...
  37. @scp $(SSH_DUT):~/${NAME}.png .
  38. else
  39. @echo Running locally...
  40. @./$(NAME)
  41. endif
  42. shaders:
  43. @glslc -c ${NAME}.vert
  44. @glslc -c ${NAME}.frag
  45. clean: check
  46. @rm -f ${NAME}
  47. @rm -f ${NAME}.png
  48. @rm -f ${NAME}.vert.spv
  49. @rm -f ${NAME}.frag.spv
  50. ifneq ($(target), local)
  51. @ssh $(SSH_DUT) 'rm -f ~/${NAME} ~/${NAME}.png'
  52. endif
  53. check:
  54. ifeq ($(CXX), INVALID)
  55. $(error $$target must be one of [atlas, cheza, local] )
  56. endif