DX12 custom root signatures (#372)
* dx12: abandoned shader reflection, added support for custom root signatures, removed dxcompiler dependency * removed dll copies from build scripts * update * updates * updates * fix * update * update * updates * added custom root signatures to some passes * fix * updates * comment fix * allow shaders to not have root signatures, if they are part of a pipeline which has root signature for an other shader * root signature optimizer * batched descriptor null initializer * shader updates * update * put the atmospheric sky update to async compute * improved debug of root constant - push constant data size mismatch * bitwise root param iteration * added superluminal perf api * performance api will be optional * async updaterenderdata fixes * fixes * fixes * occludee update * raytraced reflection implementation with ray query instead of rt pipeline * alwaysactive * shadercompiler enable old d3dcompiler because why not, it's only loaded on demand now * removed common sampler api * root signature simplification * fixes * linear allocator fix * push constants are now immediately set * fixes * version * fix? * improved descriptor allocator * default sampler table reduction * gpu sort lib push constants * small update * descriptor allocator safety * shader compiler refactor * some optimizations
This commit is contained in:
@@ -20,6 +20,7 @@ using namespace wi::graphics;
|
||||
Shader imguiVS;
|
||||
Shader imguiPS;
|
||||
Texture fontTexture;
|
||||
Sampler sampler;
|
||||
InputLayout imguiInputLayout;
|
||||
PipelineState imguiPSO;
|
||||
|
||||
@@ -59,6 +60,13 @@ bool ImGui_Impl_CreateDeviceObjects()
|
||||
|
||||
wi::graphics::GetDevice()->CreateTexture(&textureDesc, &textureData, &fontTexture);
|
||||
|
||||
SamplerDesc samplerDesc;
|
||||
samplerDesc.address_u = TextureAddressMode::WRAP;
|
||||
samplerDesc.address_v = TextureAddressMode::WRAP;
|
||||
samplerDesc.address_w = TextureAddressMode::WRAP;
|
||||
samplerDesc.filter = Filter::MAXIMUM_MIN_MAG_MIP_LINEAR;
|
||||
wi::graphics::GetDevice()->CreateSampler(&samplerDesc, &sampler);
|
||||
|
||||
// Store our identifier
|
||||
io.Fonts->SetTexID((ImTextureID)&fontTexture);
|
||||
|
||||
@@ -237,6 +245,8 @@ void Example_ImGui::Compose(wi::graphics::CommandList cmd)
|
||||
|
||||
device->BindPipelineState(&imguiPSO, cmd);
|
||||
|
||||
device->BindSampler(&sampler, 0, cmd);
|
||||
|
||||
// Will project scissor/clipping rectangles into framebuffer space
|
||||
ImVec2 clip_off = drawData->DisplayPos; // (0,0) unless using multi-viewports
|
||||
ImVec2 clip_scale = drawData->FramebufferScale; // (1,1) unless using retina display which are often (2,2)
|
||||
|
||||
Reference in New Issue
Block a user