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.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

Makefile 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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} ${NAME}.png ${NAME}.vert.spv ${NAME}.frag.spv
  47. ifneq ($(target), local)
  48. @ssh $(SSH_DUT) 'rm -f ~/${NAME} ~/${NAME}.png ~/${NAME}.vert.spv ~/${NAME}.frag.spv'
  49. endif
  50. check:
  51. ifeq ($(CXX), INVALID)
  52. $(error $$target must be one of [atlas, cheza, local] )
  53. endif