|
1 | 1 |
|
| 2 | +## v2.4.g |
| 3 | + |
| 4 | +### API Changes |
| 5 | + |
| 6 | +* Enabled ray tracing (API Version 240080) |
| 7 | +* Added `IDeviceContext::GetFrameNumber` method (API Version 240079) |
| 8 | +* Added `ShaderResourceQueries` device feature and `EngineGLCreateInfo::ForceNonSeparablePrograms` parameter (API Version 240078) |
| 9 | + |
| 10 | +* Renamed `USAGE_STATIC` to `USAGE_IMMUTABLE` (API Version 240077) |
| 11 | + |
| 12 | +* Renamed static samplers into immutable samplers (API Version 240076) |
| 13 | + * Renamed `StaticSamplerDesc` -> `ImmutableSamplerDesc` |
| 14 | + * Renamed `PipelineResourceLayoutDesc::NumStaticSamplers` -> `PipelineResourceLayoutDesc::NumImmutableSamplers` |
| 15 | + * Renamed `PipelineResourceLayoutDesc::StaticSamplers` -> `PipelineResourceLayoutDesc::ImmutableSamplers` |
| 16 | + |
| 17 | +* Refactored pipeline state creation (API Version 240075) |
| 18 | + * Replaced `PipelineStateCreateInfo` with `GraphicsPipelineStateCreateInfo` and `ComputePipelineStateCreateInfo` |
| 19 | + * Replaced `IRenderDevice::CreatePipelineState` with `IRenderDevice::CreateGraphicsPipelineState` and `IRenderDevice::CreateComputePipelineState` |
| 20 | + * `pVS`, `pGS`, `pHS`, `pDS`, `pPS`, `pAS`, `pMS` were moved from `GraphicsPipelineDesc` to `GraphicsPipelineStateCreateInfo` |
| 21 | + * `GraphicsPipelineDesc GraphicsPipeline` was moved from `PipelineStateDesc` to `GraphicsPipelineStateCreateInfo` |
| 22 | + * `pCS` is now a member of `ComputePipelineStateCreateInfo`, `ComputePipelineDesc` was removed |
| 23 | + * Added `IPipelineState::GetGraphicsPipelineDesc` method |
| 24 | + |
| 25 | + Old API for graphics pipeline initialization: |
| 26 | + ```cpp |
| 27 | + PipelineStateCreateInfo PSOCreateInfo; |
| 28 | + PipelineStateDesc& PSODesc = PSOCreateInfo.PSODesc; |
| 29 | + |
| 30 | + PSODesc.GraphicsPipeline.pVS = pVS; |
| 31 | + PSODesc.GraphicsPipeline.pPS = pVS; |
| 32 | + // ... |
| 33 | + Device->CreatePipelineState(PSOCreateInfo, &pPSO); |
| 34 | + ``` |
| 35 | +
|
| 36 | + New API for graphics pipeline initialization: |
| 37 | + ```cpp |
| 38 | + GraphicsPipelineStateCreateInfo PSOCreateInfo; |
| 39 | + // ... |
| 40 | + PSOCreateInfo.pVS = pVS; |
| 41 | + PSOCreateInfo.pPS = pVS; |
| 42 | + Device->CreateGraphicsPipelineState(PSOCreateInfo, &pPSO); |
| 43 | + ``` |
| 44 | + |
| 45 | + Old API for compute pipeline initialization: |
| 46 | + ```cpp |
| 47 | + PipelineStateCreateInfo PSOCreateInfo; |
| 48 | + PipelineStateDesc& PSODesc = PSOCreateInfo.PSODesc; |
| 49 | + |
| 50 | + PSODesc.ComputePipeline.pCS = pCS; |
| 51 | + // ... |
| 52 | + Device->CreatePipelineState(PSOCreateInfo, &pPSO); |
| 53 | + ``` |
| 54 | +
|
| 55 | + New API for compute pipeline initialization: |
| 56 | + ```cpp |
| 57 | + ComputePipelineStateCreateInfo PSOCreateInfo; |
| 58 | +
|
| 59 | + PSOCreateInfo.pCS = pCS; |
| 60 | + Device->CreateComputePipelineState(PSOCreateInfo, &pPSO); |
| 61 | + ``` |
| 62 | + |
| 63 | +* Added `ShaderInt8`, `ResourceBuffer8BitAccess`, and `UniformBuffer8BitAccess` device features. (API Version 240074) |
| 64 | +* Added `ShaderFloat16`, `ResourceBuffer16BitAccess`, `UniformBuffer16BitAccess`, and `ShaderInputOutput16` device features. (API Version 240073) |
| 65 | + |
| 66 | + |
| 67 | +### Samples and Tutorials |
| 68 | + |
| 69 | +* Added [Tutorial21 - Ray Tracing](https://github.com/DiligentGraphics/DiligentSamples/tree/master/Tutorials/Tutorial21_RayTracing) |
| 70 | + |
| 71 | + |
2 | 72 | ## v2.4.f |
3 | 73 |
|
4 | 74 | ### API Changes |
|
37 | 107 | * Added [Tutorial19 - Render Passes](https://github.com/DiligentGraphics/DiligentSamples/tree/master/Tutorials/Tutorial19_RenderPasses) |
38 | 108 | * Added [Tutorial20 - Mesh Shader](https://github.com/DiligentGraphics/DiligentSamples/tree/master/Tutorials/Tutorial20_MeshShader) |
39 | 109 |
|
| 110 | + |
40 | 111 | ## v2.4.e |
41 | 112 |
|
42 | 113 | ### General |
|
0 commit comments