ffx_fsr2_resources.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // This file is part of the FidelityFX SDK.
  2. //
  3. // Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved.
  4. //
  5. // Permission is hereby granted, free of charge, to any person obtaining a copy
  6. // of this software and associated documentation files (the "Software"), to deal
  7. // in the Software without restriction, including without limitation the rights
  8. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9. // copies of the Software, and to permit persons to whom the Software is
  10. // furnished to do so, subject to the following conditions:
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20. // THE SOFTWARE.
  21. #ifndef FFX_FSR2_RESOURCES_H
  22. #define FFX_FSR2_RESOURCES_H
  23. #if defined(FFX_CPU) || defined(FFX_GPU)
  24. #define FFX_FSR2_RESOURCE_IDENTIFIER_NULL 0
  25. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_OPAQUE_ONLY 1
  26. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_COLOR 2
  27. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_MOTION_VECTORS 3
  28. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_DEPTH 4
  29. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_EXPOSURE 5
  30. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_REACTIVE_MASK 6
  31. #define FFX_FSR2_RESOURCE_IDENTIFIER_INPUT_TRANSPARENCY_AND_COMPOSITION_MASK 7
  32. #define FFX_FSR2_RESOURCE_IDENTIFIER_RECONSTRUCTED_PREVIOUS_NEAREST_DEPTH 8
  33. #define FFX_FSR2_RESOURCE_IDENTIFIER_DILATED_MOTION_VECTORS 9
  34. #define FFX_FSR2_RESOURCE_IDENTIFIER_DILATED_DEPTH 10
  35. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_UPSCALED_COLOR 11
  36. #define FFX_FSR2_RESOURCE_IDENTIFIER_LOCK_STATUS 12
  37. #define FFX_FSR2_RESOURCE_IDENTIFIER_NEW_LOCKS 13
  38. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREPARED_INPUT_COLOR 14
  39. #define FFX_FSR2_RESOURCE_IDENTIFIER_LUMA_HISTORY 15
  40. #define FFX_FSR2_RESOURCE_IDENTIFIER_DEBUG_OUTPUT 16
  41. #define FFX_FSR2_RESOURCE_IDENTIFIER_LANCZOS_LUT 17
  42. #define FFX_FSR2_RESOURCE_IDENTIFIER_SPD_ATOMIC_COUNT 18
  43. #define FFX_FSR2_RESOURCE_IDENTIFIER_UPSCALED_OUTPUT 19
  44. #define FFX_FSR2_RESOURCE_IDENTIFIER_RCAS_INPUT 20
  45. #define FFX_FSR2_RESOURCE_IDENTIFIER_LOCK_STATUS_1 21
  46. #define FFX_FSR2_RESOURCE_IDENTIFIER_LOCK_STATUS_2 22
  47. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_UPSCALED_COLOR_1 23
  48. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_UPSCALED_COLOR_2 24
  49. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_DEFAULT_REACTIVITY 25
  50. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_DEFAULT_TRANSPARENCY_AND_COMPOSITION 26
  51. #define FFX_FSR2_RESOURCE_IDENTITIER_UPSAMPLE_MAXIMUM_BIAS_LUT 27
  52. #define FFX_FSR2_RESOURCE_IDENTIFIER_DILATED_REACTIVE_MASKS 28
  53. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE 29 // same as FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_0
  54. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_0 29
  55. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_1 30
  56. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_2 31
  57. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_3 32
  58. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_4 33
  59. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_5 34
  60. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_6 35
  61. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_7 36
  62. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_8 37
  63. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_9 38
  64. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_10 39
  65. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_11 40
  66. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_12 41
  67. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_DEFAULT_EXPOSURE 42
  68. #define FFX_FSR2_RESOURCE_IDENTIFIER_AUTO_EXPOSURE 43
  69. #define FFX_FSR2_RESOURCE_IDENTIFIER_AUTOREACTIVE 44
  70. #define FFX_FSR2_RESOURCE_IDENTIFIER_AUTOCOMPOSITION 45
  71. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_PRE_ALPHA_COLOR 46
  72. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_POST_ALPHA_COLOR 47
  73. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_PRE_ALPHA_COLOR_1 48
  74. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_POST_ALPHA_COLOR_1 49
  75. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_PRE_ALPHA_COLOR_2 50
  76. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREV_POST_ALPHA_COLOR_2 51
  77. #define FFX_FSR2_RESOURCE_IDENTIFIER_PREVIOUS_DILATED_MOTION_VECTORS 52
  78. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_DILATED_MOTION_VECTORS_1 53
  79. #define FFX_FSR2_RESOURCE_IDENTIFIER_INTERNAL_DILATED_MOTION_VECTORS_2 54
  80. #define FFX_FSR2_RESOURCE_IDENTIFIER_LUMA_HISTORY_1 55
  81. #define FFX_FSR2_RESOURCE_IDENTIFIER_LUMA_HISTORY_2 56
  82. #define FFX_FSR2_RESOURCE_IDENTIFIER_LOCK_INPUT_LUMA 57
  83. // Shading change detection mip level setting, value must be in the range [FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_0, FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_12]
  84. #define FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_SHADING_CHANGE FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_4
  85. #define FFX_FSR2_SHADING_CHANGE_MIP_LEVEL (FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE_MIPMAP_SHADING_CHANGE - FFX_FSR2_RESOURCE_IDENTIFIER_SCENE_LUMINANCE)
  86. #define FFX_FSR2_RESOURCE_IDENTIFIER_COUNT 58
  87. #define FFX_FSR2_CONSTANTBUFFER_IDENTIFIER_FSR2 0
  88. #define FFX_FSR2_CONSTANTBUFFER_IDENTIFIER_SPD 1
  89. #define FFX_FSR2_CONSTANTBUFFER_IDENTIFIER_RCAS 2
  90. #define FFX_FSR2_CONSTANTBUFFER_IDENTIFIER_GENREACTIVE 3
  91. #define FFX_FSR2_AUTOREACTIVEFLAGS_APPLY_TONEMAP 1
  92. #define FFX_FSR2_AUTOREACTIVEFLAGS_APPLY_INVERSETONEMAP 2
  93. #define FFX_FSR2_AUTOREACTIVEFLAGS_APPLY_THRESHOLD 4
  94. #define FFX_FSR2_AUTOREACTIVEFLAGS_USE_COMPONENTS_MAX 8
  95. #endif // #if defined(FFX_CPU) || defined(FFX_GPU)
  96. #endif //!defined( FFX_FSR2_RESOURCES_H )