어렵당 Render queue enqueue 참고용 자료들 https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3aep-kepler/ThreadedRenderingGL http://gameworksdocs.nvidia.com/GraphicsSamples/ThreadedRenderingGLSample.htm https://github.com/tuxalin/CommandBuffer BGFX & Filament draw command 를 객체로 바꾸고, 그걸 thread safe 하게 전달하는 것 serialize 해서 전달하는 bgfx bgfx의 기본 예제는 별도의 thread 안에서 queue를 쌓고, execute는 main ..
몇몇 정리해야할 게 보임 Additionally, the sample implements several techniques to reduce driver overhead related to draw calls. These techniques are collectively referred to as "Approaching Zero Driver Overhead" or AZDO. Vertex Buffer Management This sample utilizes "hardware instancing" to render each school's fish. Using this method, there is one VBO that contains the vertices for the actual mesh ob..
2080에서는 비슷하다고 영상에서 나왔는데 660 m 인 내 노트북에서는 느리길레 찾아본 자료 vulkan 에서는 push descriptor 로 openGL 에서는 SSBO / texture fetch 등으로 수행 가능함 5x5 buddha, Nvida 660m, 10만 삼각형, one commandbuffer with wait command queue 'basic' 'optimize lib' '16bit vertex fetch' 'position only 32bit' FVF : 0.2b 0.7b 0.7b 0.7b PUSH: 0.2b 0.4b 0.7b 0.7b 초당 몇억 삼각형 그리는 건지 테스트한건데 / 2080은 10억 근처에서 논다 http..
바로 vulkan에 넘길 정보를 얻는 건 힘들다. 그냥 정보를 보고 사용할 수 있게 하는게 가능하다 https://github.com/cdwfs/spokk/blob/a3f2a812e1472b213609e15ed20243a0489d0045/src/spokk/spokk_shader.cpp // Handle push constants. Each shader stage is only allowed to have one push constant range, // so if the SPIRV defines more than one block, we have to merge them here. 이렇게 나와있는데; 정확한 것은 불칸 API 업데이트로 겹치는 영역은 push cmd 날릴 때 겹치는 shader를 flag..
머냐; 이거 https://www.youtube.com/watch?v=KckRq7Rm3Mw 동영상에서는 meshlet 생성에 사용한 대강의 cluster 로 사용해도 어느정도 된다고 이야기함 우선 아래 2개를 추천하던데 http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf 위에거의 게시판 https://forum.beyond3d.com/threads/gpu-driven-rendering-siggraph-2015-follow-up.57240/ 모르것다. https://frostbite-wp-prd.s3.amazonaws.com/wp-content/uploads/2016/03/2..
먼넘의 문법이; http://www.duskborn.com/wp-content/uploads/2015/03/AnIntroductionToSPIR-V.pdf https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.pdf https://github.com/google-admin/vulkan-cpp-library/blob/master/spirv-reflection/include/reflection/internal/intermediate_types.h 3.32 Instructions word count > opcode > result > operands 실제 disasemble 에서 보이는건, %5 = OpTypeFloat 32 %6 = OpTypeInt 32 0 %..
http://lifeisforu.tistory.com/408?category=837815 긴 설명; 머가먼지 그냥 길다 https://www.youtube.com/watch?v=nKCzD5iK71M 49:00 보면된다 실제 머가 되나 싶지만, 찍어보면 GPU 메모리는 device local 밖에 없었고, local visible visible / cohrent 조합 visible / chhrent / cache 이 가능함. AMD는 더 늘어날 수 있다는데; (gpu에 cache 영역이 따로 있다네) 머 하여간 스펙상 visible / cohrent 조합의 존재를 밖어 놓진 않았지만 자기 경험상 모든 장비가 해당 조합을 지원했고, cohrent를 굳이 빼는 장점은 모르겠다고 함 cache는 RW 버퍼 채워..
GPU 프로파일링 하면서 잊고 있었다. 이걸로 클럭 떨어지는 것 (버스트도) 막고 GPU-Z 로 잘 됬는지 보면 됨 SetStablePowerState.exe: Disabling GPU Boost on Windows 10 for more deterministic timestamp queries on NVIDIA GPUs https://developer.nvidia.com/setstablepowerstateexe-%20disabling%20-gpu-boost-windows-10-getting-more-deterministic-timestamp-queries RegOpenKeyEx > 32 bit에서 error code 2 발생 64 bit 로 바꾸거나 KEY_WOW64_64KEY 추가 더욱더 정확한건 Pr..
- Total
- Today
- Yesterday