Add options for Hlsl shader generator to allow register selection.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 42/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- cpp
- Domínio
- computer-graphics
Direção de pesquisa
Localize o gerador de shaders HLSL e os pontos de entrada de tratamento das opções de ShaderDesc; em seguida, inspecione como as declarações de texturas e samplers são emitidas. Adicione slots iniciais configuráveis para recursos e samplers e verifique se o HLSL de D3D11/D3D12 gerado inclui os bindings de registro solicitados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hello,
in the current state OCIO does not allow generated code to manually specify register slots (d3d11/12):
Example of generated code :
Texture2D ocio_lut1d_0; SamplerState ocio_lut1d_0Sampler;
This makes reflecting compiled shader (Nearly) mandatory to find the binding location, which is not desirable in many cases.
It would be nice to have an option to be able to set first register slot by hand, then get them generated in a fixed way, for example :
`shaderDesc->setLanguage(GPU_LANGUAGE_HLSL_DX11);
shaderDesc->setFunctionName(functionName);
shaderDesc->setResourceStartSlot(1);
shaderDesc->setSamplerStartSlot(4);
Generated code would become:
Texture2D ocio_lut1d_0 : register(t1); SamplerState ocio_lut1d_0Sampler : register(s4)
On a later stage, supporting bindless for latest d3d12/vulkan implementations would also be nice.
Thanks
Julien
- Linguagem predominante
- C++
- Estrelas
- 2.1k
- Forks
- 508
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de AcademySoftwareFoundation/OpenColorIO
-
Inconsistent run-time library usage for locale handling breaks GPU code generation on some systems.Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
AcademySoftwareFoundation/OpenColorIO#2351 · 2 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
Build failure on GCC/MinGW (MXE): std::ifstream constructor mismatch with Platform::filenameToUTF()Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
ReadTheDocs - OS DeprecationAbertaDocumentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
AcademySoftwareFoundation/OpenColorIO#2280 · 1 comentário ·
Todas as issues de AcademySoftwareFoundation/OpenColorIO
Issues semelhantes
-
bug libcudf
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
level/task module/cloud monitoring type/maintenance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
LadybirdBrowser/ladybird#13809 ·
Mantenedores costumam responder em até 1 dia
-
bug module:nodes tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
rocketride-org/rocketride-server#3020 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 9 dias