35 class __Texture1D<T> {
37 float CalculateLevelOfDetail( sampler_state
s, float1 x);
38 void GetDimensions( uint MipLevel, out uint Width, out uint NumberOfLevels);
39 void GetDimensions( out uint Width);
40 void GetDimensions( uint MipLevel, out
float Width, out
float NumberOfLevels);
41 void GetDimensions( out
float Width);
42 T Load(int2 Location);
43 T Load(int2 Location,
int Offset);
44 float4 Sample(sampler_state S,
float Location);
45 float4 Sample(sampler_state S,
float Location,
int Offset);
46 float4 SampleBias(sampler_state S,
float Location,
float Bias);
47 float4 SampleBias(sampler_state S,
float Location,
float Bias,
int Offset);
48 uint SampleCmp(sampler_state S,
float Location,
float Bias);
49 uint SampleCmp(sampler_state S,
float Location,
float Bias,
int Offset);
50 float4 SampleGrad(sampler_state S,
float Location,
float DDX,
float DDY);
51 float4 SampleGrad(sampler_state S,
float Location,
float DDX,
float DDY,
int Offset);
52 float4 SampleLevel( sampler_state S,
float Location,
float LOD);
53 float4 SampleLevel( sampler_state S,
float Location,
float LOD,
int Offset);
56 T mips.operator[][](in uint mipSlice,in uint pos);
58 T operator[](in uint pos);
61 class __Texture1DArray<T> {
63 float CalculateLevelOfDetail( sampler_state
s, float1 x);
64 void GetDimensions( uint MipLevel, out uint Width, out uint Elements, out uint NumberOfLevels);
65 void GetDimensions( out uint Width, out uint Elements);
66 void GetDimensions( uint MipLevel, out
float Width, out
float Elements, out
float NumberOfLevels);
67 void GetDimensions( out
float Width, out
float Elements);
68 T Load(int3 Location);
69 T Load(int3 Location,
int Offset);
70 float4 Sample(sampler_state S, float2 Location);
71 float4 Sample(sampler_state S, float2 Location,
int Offset);
72 float4 SampleBias(sampler_state S, float2 Location,
float Bias);
73 float4 SampleBias(sampler_state S, float2 Location,
float Bias,
int Offset);
74 uint SampleCmp(sampler_state S, float2 Location,
float Bias);
75 uint SampleCmp(sampler_state S, float2 Location,
float Bias,
int Offset);
76 float4 SampleGrad(sampler_state S, float2 Location,
float DDX,
float DDY);
77 float4 SampleGrad(sampler_state S, float2 Location,
float DDX,
float DDY,
int Offset);
78 float4 SampleLevel( sampler_state S, float2 Location,
float LOD);
79 float4 SampleLevel( sampler_state S, float2 Location,
float LOD,
int Offset);
82 T mips.operator[][](in uint mipSlice,in uint2 pos);
84 T operator[](in uint2 pos);
87 class __Texture2D<T> {
89 float CalculateLevelOfDetail( sampler_state
s, float2 x);
90 vector<__T_base,4> Gather( sampler_state S, float2 Location);
91 vector<__T_base,4> Gather( sampler_state S, float2 Location, int2 Offset );
92 void GetDimensions( uint MipLevel, out uint Width, out uint Height, out uint NumberOfLevels);
93 void GetDimensions( out uint Width, out uint Height);
94 void GetDimensions( uint MipLevel, out
float Width, out
float Height, out
float NumberOfLevels);
95 void GetDimensions( out
float Width, out
float Height);
96 T Load(int3 Location);
97 T Load(int3 Location, int2 Offset);
98 float4 Sample(sampler_state S, float2 Location);
99 float4 Sample(sampler_state S, float2 Location, int2 Offset);
100 float4 SampleBias(sampler_state S, float2 Location,
float Bias);
101 float4 SampleBias(sampler_state S, float2 Location,
float Bias, int2 Offset);
102 uint SampleCmp(sampler_state S, float2 Location,
float Bias);
103 uint SampleCmp(sampler_state S, float2 Location,
float Bias, int2 Offset);
104 float4 SampleGrad(sampler_state S, float2 Location, float2 DDX, float2 DDY);
105 float4 SampleGrad(sampler_state S, float2 Location, float2 DDX, float2 DDY, int2 Offset);
106 float4 SampleLevel( sampler_state S, float2 Location,
float LOD);
107 float4 SampleLevel( sampler_state S, float2 Location,
float LOD, int2 Offset);
141 in SamplerComparisonState s,
143 in
float compare_value,
148 in SamplerComparisonState s,
150 in
float compare_value,
154 float4 GatherCmpGreen(
155 in SamplerComparisonState s,
157 in
float compare_value,
161 float4 GatherCmpBlue(
162 in SamplerComparisonState s,
164 in
float compare_value,
168 float4 GatherCmpAlpha(
169 in SamplerComparisonState s,
171 in
float compare_value,
175 T mips.operator[][](in uint mipSlice, in uint2 pos);
177 T operator[](in uint2 pos);
180 class __Texture2DArray<T> {
182 float CalculateLevelOfDetail( sampler_state
s, float2 x);
183 vector<__T_base,4> Gather( sampler_state S, float3 Location, int2 Offset );
184 void GetDimensions( uint MipLevel, out uint Width, out uint Height, out uint Elements, out uint NumberOfLevels);
185 void GetDimensions( out uint Width, out uint Height, out uint Elements);
186 void GetDimensions( uint MipLevel, out
float Width, out
float Height, out
float Elements, out
float NumberOfLevels);
187 void GetDimensions( out
float Width, out
float Height, out
float Elements);
188 T Load(int4 Location);
189 T Load(int4 Location, int2 Offset);
190 T Load(int4 Location, int3 Offset);
191 float4 Sample(sampler_state S, float3 Location);
192 float4 Sample(sampler_state S, float3 Location, int2 Offset);
193 float4 SampleBias(sampler_state S, float3 Location,
float Bias);
194 float4 SampleBias(sampler_state S, float3 Location,
float Bias, int2 Offset);
195 uint SampleCmp(sampler_state S, float3 Location,
float Bias);
196 uint SampleCmp(sampler_state S, float3 Location,
float Bias, int2 Offset);
197 float4 SampleGrad(sampler_state S, float3 Location, float2 DDX, float2 DDY);
198 float4 SampleGrad(sampler_state S, float3 Location, float2 DDX, float2 DDY, int2 Offset);
199 float4 SampleLevel( sampler_state S, float3 Location,
float LOD);
200 float4 SampleLevel( sampler_state S, float3 Location,
float LOD, int2 Offset);
234 in SamplerComparisonState s,
236 in
float compare_value,
241 in SamplerComparisonState s,
243 in
float compare_value,
247 float4 GatherCmpGreen(
248 in SamplerComparisonState s,
250 in
float compare_value,
254 float4 GatherCmpBlue(
255 in SamplerComparisonState s,
257 in
float compare_value,
261 float4 GatherCmpAlpha(
262 in SamplerComparisonState s,
264 in
float compare_value,
268 T mips.operator[][](in uint mipSlice, in uint3 pos);
270 T operator[](in uint3 pos);
274 class __Texture3D<T> {
276 float CalculateLevelOfDetail( sampler_state
s, float3 x);
277 void GetDimensions( uint MipLevel, out uint Width, out uint Height, out uint Depth, out uint NumberOfLevels);
278 void GetDimensions( out uint Width, out uint Height, out uint Depth);
279 void GetDimensions( uint MipLevel, out
float Width, out
float Height, out
float Depth, out
float NumberOfLevels);
280 void GetDimensions( out
float Width, out
float Height, out
float Depth);
281 T Load(int4 Location);
282 T Load(int4 Location, int3 Offset);
283 float4 Sample(sampler_state S, float3 Location);
284 float4 Sample(sampler_state S, float3 Location, int3 Offset);
285 float4 SampleBias(sampler_state S, float3 Location,
float Bias);
286 float4 SampleBias(sampler_state S, float3 Location,
float Bias, int3 Offset);
287 uint SampleCmp(sampler_state S, float3 Location,
float Bias);
288 uint SampleCmp(sampler_state S, float3 Location,
float Bias, int3 Offset);
289 float4 SampleGrad(sampler_state S, float3 Location, float3 DDX, float3 DDY);
290 float4 SampleGrad(sampler_state S, float3 Location, float3 DDX, float3 DDY, int3 Offset);
291 float4 SampleLevel( sampler_state S, float3 Location,
float LOD);
292 float4 SampleLevel( sampler_state S, float3 Location,
float LOD, int3 Offset);
295 T mips.operator[][](in uint mipSlice,in uint3 pos);
297 T operator[](in uint3 pos);
300 class __TextureCube<T> {
302 float CalculateLevelOfDetail( sampler_state
s, float3 x);
303 vector<__T_base,4> Gather( sampler_state S, float3 Location);
304 void GetDimensions( uint MipLevel, out uint Width, out uint Height, out uint NumberOfLevels);
305 void GetDimensions( out uint Width, out uint Height);
306 void GetDimensions( uint MipLevel, out
float Width, out
float Height, out uint NumberOfLevels);
307 void GetDimensions( out
float Width, out
float Height);
308 float4 Sample(sampler_state S, float3 Location);
309 float4 SampleBias(sampler_state S, float3 Location,
float Bias);
310 uint SampleCmp(sampler_state S, float3 Location,
float Bias);
311 float4 SampleGrad(sampler_state S, float3 Location, float3 DDX, float3 DDY);
312 float4 SampleLevel( sampler_state S, float3 Location,
float LOD);
315 class __TextureCubeArray<T> {
317 float CalculateLevelOfDetail( sampler_state
s, float3 x);
318 vector<__T_base,4> Gather( sampler_state S, float4 Location);
319 void GetDimensions( uint MipLevel, out uint Width, out uint Height, out uint Elements, out uint NumberOfLevels);
320 void GetDimensions( out uint Width, out uint Height, out uint Elements);
321 void GetDimensions( uint MipLevel, out
float Width, out
float Height, out
float Elements, out
float NumberOfLevels);
322 void GetDimensions( out
float Width, out
float Height, out
float Elements);
323 float4 Sample(sampler_state S, float4 Location);
324 float4 SampleBias(sampler_state S, float4 Location,
float Bias);
325 uint SampleCmp(sampler_state S, float4 Location,
float Bias);
326 uint SampleCmp(sampler_state S, float4 Location,
float Bias, int3 Offset);
327 float4 SampleGrad(sampler_state S, float4 Location, float3 DDX, float3 DDY);
328 float4 SampleLevel( sampler_state S, float4 Location,
float LOD);
331 class __Texture2DMS<T> {
333 void GetDimensions( out uint Width, out uint Height, out uint Samples);
334 void GetDimensions( out
float Width, out
float Height, out
float Samples);
335 float2 GetSamplePosition(
int s);
336 T Load(int2 Location);
337 T Load(int2 Location, int2 Offset);
338 T Load(int2 Location, int2 Offset,
int SampleIndex);
342 float2 GetSamplePosition(
351 T sample.operator[][]( in uint sampleSlice, in uint3 pos);
354 class __Texture2DMSArray<T> {
356 void GetDimensions( out uint Width, out uint Height, out uint Elements, out uint Samples);
357 void GetDimensions( out
float Width, out
float Height, out
float Elements, out
float Samples);
358 float2 GetSamplePosition(
int s);
359 T Load(int3 Location);
360 T Load(int3 Location, int2 Offset);
361 T Load(int3 Location, int2 Offset,
int SampleIndex);
364 float2 GetSamplePosition(
373 T sample.operator[][]( in uint sampleSlice, in uint3 pos);
378 T Load(
int Location);
380 void GetDimensions(out uint dim);
382 T operator[](in uint pos);
389 class __PointStream<T> {
390 void Append(T StreamDataType);
394 class __LineStream<T> {
395 void Append(T StreamDataType);
399 class __TriangleStream<T> {
400 void Append(T StreamDataType);
410 class __AppendStructuredBuffer<T> {
411 void Append(T value);
412 void GetDimensions(out uint numStructs, out uint stride);
418 void GetDimensions(out uint dim);
419 uint Load(in uint address);
420 uint2 Load2(in uint address);
421 uint3 Load3(in uint address);
422 uint4 Load4(in uint address);
427 class __ConsumeStructuredBuffer<T> {
429 void GetDimensions(out uint numStructs, out uint stride);
434 class __InputPatch<T,N> {
436 T operator[](in uint n);
441 class __OutputPatch<T,N> {
443 T operator[](in uint n);
448 class __RWBuffer<T> {
449 void GetDimensions(out uint dim);
450 T operator []( in uint pos);
456 void GetDimensions(out uint dim);
457 void InterlockedAdd(in uint
dest, in uint value, out uint original_value);
461 out uint original_value
463 void InterlockedCompareExchange(
465 in uint compare_value,
467 out uint original_value
469 void InterlockedCompareStore(
471 in uint compare_value,
474 void InterlockedExchange(
477 out uint original_value
482 out uint original_value
487 out uint original_value
492 out uint original_value
497 out uint original_value
531 class __RWStructuredBuffer<T> {
533 uint DecrementCounter(
void);
540 uint IncrementCounter(
void);
542 T operator[](in uint pos);
547 class __RWTexture1D<T> {
551 T operator[](in uint pos);
556 class __RWTexture1DArray<T> {
562 T operator[](in uint2 pos);
567 class __RWTexture2D<T> {
573 T operator[](in uint2 pos);
578 class __RWTexture2DArray<T> {
584 T operator[](in uint3 pos);
589 class __RWTexture3D<T> {
596 T operator[](in uint3 pos);
601 class __StructuredBuffer<T> {
607 T operator[](in uint pos);