MCPcopy Create free account
hub / github.com/NVIDIA-RTX/NVRHI / createTexture

Method createTexture

src/validation/validation-device.cpp:103–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101 }
102
103 TextureHandle DeviceWrapper::createTexture(const TextureDesc& d)
104 {
105 bool anyErrors = false;
106
107 switch (d.dimension)
108 {
109 case TextureDimension::Texture1D:
110 case TextureDimension::Texture1DArray:
111 case TextureDimension::Texture2D:
112 case TextureDimension::Texture2DArray:
113 case TextureDimension::TextureCube:
114 case TextureDimension::TextureCubeArray:
115 case TextureDimension::Texture2DMS:
116 case TextureDimension::Texture2DMSArray:
117 case TextureDimension::Texture3D:
118 break;
119
120 case TextureDimension::Unknown:
121 default:
122 error("Unknown texture dimension");
123 return nullptr;
124 }
125
126 const char* dimensionStr = utils::TextureDimensionToString(d.dimension);
127 const char* debugName = utils::DebugNameToString(d.debugName);
128
129 if (d.width == 0 || d.height == 0 || d.depth == 0 || d.arraySize == 0 || d.mipLevels == 0)
130 {
131 std::stringstream ss;
132 ss << dimensionStr << " " << debugName << ": width(" << d.width << "), height(" << d.height << "), depth(" << d.depth
133 << "), arraySize(" << d.arraySize << ") and mipLevels(" << d.mipLevels << ") must not be zero";
134 error(ss.str());
135 return nullptr;
136 }
137
138 switch (d.dimension) // NOLINT(clang-diagnostic-switch-enum)
139 {
140 case TextureDimension::Texture1D:
141 case TextureDimension::Texture1DArray:
142 if (d.height != 1)
143 {
144 std::stringstream ss;
145 ss << dimensionStr << " " << debugName << ": height(" << d.height << ") must be equal to 1";
146 error(ss.str());
147 anyErrors = true;
148 }
149 break;
150 default:;
151 }
152
153 switch (d.dimension) // NOLINT(clang-diagnostic-switch-enum)
154 {
155 case TextureDimension::Texture1D:
156 case TextureDimension::Texture1DArray:
157 case TextureDimension::Texture2D:
158 case TextureDimension::Texture2DArray:
159 case TextureDimension::TextureCube:
160 case TextureDimension::TextureCubeArray:

Callers

nothing calls this directly

Calls 5

TextureDimensionToStringFunction · 0.85
DebugNameToStringFunction · 0.85
GenerateTextureDebugNameFunction · 0.85
queryFeatureSupportMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected