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 kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

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