Posts

VK9 - Milestone13 Completed

Image
VK9 has reached it's 12th and 13th milestones. Reaching these milestones required the addition of limited lighting support and significant improvements to the texture stage support. The variables used for texture stages are now handled with specialization constants. What this means is that although they exist in the SPIR-V they should be optimized away when the SPIR-V is compiled into GPU instructions. This approach means that the GPU should only be running relevant code for fixed function. As part of initial lighting support both the light structures and material structure are available to the shaders being used to handle fixed function.

VK9 - Progress Update

It's been over a month since my last blog post. As those of you on the VKx Discord server are aware the current milestone involves texture stages, lights, and materials. Because of the breadth of features needed to support this sample it's taking longer to complete. However, rest assured work is still underway and I expect another milestone either late this month or early next month.

VK9 - Milestone11 Completed

Image
VK9 has reached it's 10th & 11th milestones. The primary features added to support these milestones were improvements to mipmapping & texture support. This release also includes a good number of performance improvements. The transformation matrices are now multiplied together before passing to the shader so they can fit into a push constant. The switch away from a buffer to a push constant for the transformation matrices caused a very noticeable performance improvement. For math glm has been replaced with eigen which improves the performance of matrix multiplication. In addition vectors and maps were replaced with small size optimized vectors and flat maps respectively which in my testing resulted in a performance improvement. Other smaller optimizations have been applied as well.

VK9 - Milestone9 Completed

Image
VK9 has reached it's 9th milestone. The primary changes for this release include enhancements to texture/surface handling as well as improvements to the stateblock implementation. Thanks to web archive I was able to continue with the roadmap as is even though the codesampler.com is no longer online. Special thanks to Xaviour for pointing that out to me.

VK9 - Discord server

I setup a discord server so that members of the community can communicate. Interest in solutions for other versions of D3d has been expressed by the community so I setup the server as VKx and setup separate channels for vk9, vk11, vk12, and vkg (gallium). I am currently focused on VK9 but I do believe these other projects are worth exploring.

VK9 - Milestone8 Completed

Image
VK9 has reached it's 7th & 8th milestones. The primary features added to support these milestones include state blocks and initial alpha blending support. The code is available on github. Some of you may have noticed that codesampler.com is no longer online. Because of this I'll need to re-evaluate the future milestones because the samples are no longer available. I've started the process of evaluating alternatives and will make another announcement once I've updated the road map.

VK9 - Quick Status

I'm making good progress toward the next milestone. The largest advancement so far is the inclusion of state blocks. I'm currently looking into why fonts from d3d9x don't render properly.