20#define NONAMELESSUNION
21#define WINE_NO_NAMELESS_EXTENSION
29 ID3D11Resource_GetType(
resource, dimension);
32 case D3D11_RESOURCE_DIMENSION_BUFFER:
35 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
41 ERR(
"Cannot get implementation from ID3D11Texture1D.\n");
47 *miplevel_count =
texture->desc.MipLevels;
48 *layer_count =
texture->desc.ArraySize;
52 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
58 ERR(
"Cannot get implementation from ID3D11Texture2D.\n");
64 *miplevel_count =
texture->desc.MipLevels;
65 *layer_count =
texture->desc.ArraySize;
69 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
75 ERR(
"Cannot get implementation from ID3D11Texture3D.\n");
81 *miplevel_count =
texture->desc.MipLevels;
82 *layer_count =
texture->desc.Depth;
87 WARN(
"Invalid resource dimension %#x.\n", *dimension);
96 D3D11_RESOURCE_DIMENSION dimension;
98 ID3D11Resource_GetType(
resource, &dimension);
104 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
106 D3D11_TEXTURE1D_DESC texture_desc;
111 ERR(
"Resource of type TEXTURE1D doesn't implement ID3D11Texture1D.\n");
115 ID3D11Texture1D_GetDesc(
texture, &texture_desc);
116 ID3D11Texture1D_Release(
texture);
118 desc->Format = texture_desc.Format;
119 if (texture_desc.ArraySize == 1)
122 desc->u.Texture1D.MipSlice = 0;
127 desc->u.Texture1DArray.MipSlice = 0;
128 desc->u.Texture1DArray.FirstArraySlice = 0;
129 desc->u.Texture1DArray.ArraySize = texture_desc.ArraySize;
135 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
137 D3D11_TEXTURE2D_DESC texture_desc;
142 ERR(
"Resource of type TEXTURE2D doesn't implement ID3D11Texture2D.\n");
146 ID3D11Texture2D_GetDesc(
texture, &texture_desc);
147 ID3D11Texture2D_Release(
texture);
149 desc->Format = texture_desc.Format;
150 if (texture_desc.ArraySize == 1)
152 if (texture_desc.SampleDesc.Count == 1)
155 desc->u.Texture2D.MipSlice = 0;
164 if (texture_desc.SampleDesc.Count == 1)
167 desc->u.Texture2DArray.MipSlice = 0;
168 desc->u.Texture2DArray.FirstArraySlice = 0;
169 desc->u.Texture2DArray.ArraySize = texture_desc.ArraySize;
174 desc->u.Texture2DMSArray.FirstArraySlice = 0;
175 desc->u.Texture2DMSArray.ArraySize = texture_desc.ArraySize;
182 case D3D11_RESOURCE_DIMENSION_BUFFER:
183 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
185 WARN(
"Invalid resource dimension %#x.\n", dimension);
192 D3D11_RESOURCE_DIMENSION dimension;
193 unsigned int layer_count;
201 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
205 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
210 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
216 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
221 case D3D11_RESOURCE_DIMENSION_BUFFER:
222 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
224 WARN(
"Invalid resource dimension %#x.\n", dimension);
231 switch (
desc->ViewDimension)
234 if (
desc->u.Texture1DArray.ArraySize == ~0
u &&
desc->u.Texture1DArray.FirstArraySlice < layer_count)
235 desc->u.Texture1DArray.ArraySize = layer_count -
desc->u.Texture1DArray.FirstArraySlice;
239 if (
desc->u.Texture2DArray.ArraySize == ~0
u &&
desc->u.Texture2DArray.FirstArraySlice < layer_count)
240 desc->u.Texture2DArray.ArraySize = layer_count -
desc->u.Texture2DArray.FirstArraySlice;
244 if (
desc->u.Texture2DMSArray.ArraySize == ~0
u &&
desc->u.Texture2DMSArray.FirstArraySlice < layer_count)
245 desc->u.Texture2DMSArray.ArraySize = layer_count -
desc->u.Texture2DMSArray.FirstArraySlice;
257 D3D11_RESOURCE_DIMENSION dimension;
260 ID3D11Resource_GetType(
resource, &dimension);
264 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
267 D3D11_TEXTURE1D_DESC texture_desc;
269 hr = ID3D11Resource_QueryInterface(
resource, &IID_ID3D11Texture1D, (
void **)&
texture);
272 ERR(
"Resource of type TEXTURE1D doesn't implement ID3D11Texture1D?\n");
276 ID3D11Texture1D_GetDesc(
texture, &texture_desc);
277 ID3D11Texture1D_Release(
texture);
279 desc->Format = texture_desc.Format;
280 if (texture_desc.ArraySize == 1)
282 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE1D;
283 desc->u.Texture1D.MipSlice = 0;
287 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE1DARRAY;
288 desc->u.Texture1DArray.MipSlice = 0;
289 desc->u.Texture1DArray.FirstArraySlice = 0;
290 desc->u.Texture1DArray.ArraySize = texture_desc.ArraySize;
296 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
299 D3D11_TEXTURE2D_DESC texture_desc;
301 hr = ID3D11Resource_QueryInterface(
resource, &IID_ID3D11Texture2D, (
void **)&
texture);
304 ERR(
"Resource of type TEXTURE2D doesn't implement ID3D11Texture2D?\n");
308 ID3D11Texture2D_GetDesc(
texture, &texture_desc);
309 ID3D11Texture2D_Release(
texture);
311 desc->Format = texture_desc.Format;
312 if (texture_desc.ArraySize == 1)
314 if (texture_desc.SampleDesc.Count == 1)
316 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
317 desc->u.Texture2D.MipSlice = 0;
321 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DMS;
326 if (texture_desc.SampleDesc.Count == 1)
328 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY;
329 desc->u.Texture2DArray.MipSlice = 0;
330 desc->u.Texture2DArray.FirstArraySlice = 0;
331 desc->u.Texture2DArray.ArraySize = texture_desc.ArraySize;
335 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY;
336 desc->u.Texture2DMSArray.FirstArraySlice = 0;
337 desc->u.Texture2DMSArray.ArraySize = texture_desc.ArraySize;
344 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
347 D3D11_TEXTURE3D_DESC texture_desc;
349 hr = ID3D11Resource_QueryInterface(
resource, &IID_ID3D11Texture3D, (
void **)&
texture);
352 ERR(
"Resource of type TEXTURE3D doesn't implement ID3D11Texture3D?\n");
356 ID3D11Texture3D_GetDesc(
texture, &texture_desc);
357 ID3D11Texture3D_Release(
texture);
359 desc->Format = texture_desc.Format;
360 desc->ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D;
361 desc->u.Texture3D.MipSlice = 0;
362 desc->u.Texture3D.FirstWSlice = 0;
363 desc->u.Texture3D.WSize = texture_desc.Depth;
369 FIXME(
"Unhandled resource dimension %#x.\n", dimension);
376 D3D11_RESOURCE_DIMENSION dimension;
377 unsigned int layer_count;
385 case D3D11_RESOURCE_DIMENSION_BUFFER:
386 if (
desc->ViewDimension != D3D11_RTV_DIMENSION_BUFFER)
388 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
393 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
394 if (
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE1D
395 &&
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE1DARRAY)
397 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
402 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
403 if (
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE2D
404 &&
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE2DARRAY
405 &&
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE2DMS
406 &&
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY)
408 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
413 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
414 if (
desc->ViewDimension != D3D11_RTV_DIMENSION_TEXTURE3D)
416 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
422 WARN(
"Invalid resource dimension %#x.\n", dimension);
429 switch (
desc->ViewDimension)
431 case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
432 if (
desc->u.Texture1DArray.ArraySize == ~0
u &&
desc->u.Texture1DArray.FirstArraySlice < layer_count)
433 desc->u.Texture1DArray.ArraySize = layer_count -
desc->u.Texture1DArray.FirstArraySlice;
436 case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
437 if (
desc->u.Texture2DArray.ArraySize == ~0
u &&
desc->u.Texture2DArray.FirstArraySlice < layer_count)
438 desc->u.Texture2DArray.ArraySize = layer_count -
desc->u.Texture2DArray.FirstArraySlice;
441 case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
442 if (
desc->u.Texture2DMSArray.ArraySize == ~0
u &&
desc->u.Texture2DMSArray.FirstArraySlice < layer_count)
443 desc->u.Texture2DMSArray.ArraySize = layer_count -
desc->u.Texture2DMSArray.FirstArraySlice;
446 case D3D11_RTV_DIMENSION_TEXTURE3D:
447 layer_count =
max(1, layer_count >>
desc->u.Texture3D.MipSlice);
448 if (
desc->u.Texture3D.WSize == ~0
u &&
desc->u.Texture3D.FirstWSlice < layer_count)
449 desc->u.Texture3D.WSize = layer_count -
desc->u.Texture3D.FirstWSlice;
461 D3D11_RESOURCE_DIMENSION dimension;
463 ID3D11Resource_GetType(
resource, &dimension);
467 case D3D11_RESOURCE_DIMENSION_BUFFER:
469 D3D11_BUFFER_DESC buffer_desc;
474 ERR(
"Resource of type BUFFER doesn't implement ID3D11Buffer.\n");
478 ID3D11Buffer_GetDesc(
buffer, &buffer_desc);
479 ID3D11Buffer_Release(
buffer);
485 desc->u.Buffer.u1.FirstElement = 0;
486 desc->u.Buffer.u2.NumElements = buffer_desc.ByteWidth / buffer_desc.StructureByteStride;
493 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
495 D3D11_TEXTURE1D_DESC texture_desc;
500 ERR(
"Resource of type TEXTURE1D doesn't implement ID3D11Texture1D.\n");
504 ID3D11Texture1D_GetDesc(
texture, &texture_desc);
505 ID3D11Texture1D_Release(
texture);
507 desc->Format = texture_desc.Format;
508 if (texture_desc.ArraySize == 1)
511 desc->u.Texture1D.MostDetailedMip = 0;
512 desc->u.Texture1D.MipLevels = texture_desc.MipLevels;
517 desc->u.Texture1DArray.MostDetailedMip = 0;
518 desc->u.Texture1DArray.MipLevels = texture_desc.MipLevels;
519 desc->u.Texture1DArray.FirstArraySlice = 0;
520 desc->u.Texture1DArray.ArraySize = texture_desc.ArraySize;
526 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
528 D3D11_TEXTURE2D_DESC texture_desc;
533 ERR(
"Resource of type TEXTURE2D doesn't implement ID3D11Texture2D.\n");
537 ID3D11Texture2D_GetDesc(
texture, &texture_desc);
538 ID3D11Texture2D_Release(
texture);
540 desc->Format = texture_desc.Format;
543 if (texture_desc.ArraySize >= 12)
546 desc->u.TextureCubeArray.MostDetailedMip = 0;
547 desc->u.TextureCubeArray.MipLevels = texture_desc.MipLevels;
548 desc->u.TextureCubeArray.First2DArrayFace = 0;
549 desc->u.TextureCubeArray.NumCubes = texture_desc.ArraySize / 6;
554 desc->u.TextureCube.MostDetailedMip = 0;
555 desc->u.TextureCube.MipLevels = texture_desc.MipLevels;
558 else if (texture_desc.ArraySize == 1)
560 if (texture_desc.SampleDesc.Count == 1)
563 desc->u.Texture2D.MostDetailedMip = 0;
564 desc->u.Texture2D.MipLevels = texture_desc.MipLevels;
573 if (texture_desc.SampleDesc.Count == 1)
576 desc->u.Texture2DArray.MostDetailedMip = 0;
577 desc->u.Texture2DArray.MipLevels = texture_desc.MipLevels;
578 desc->u.Texture2DArray.FirstArraySlice = 0;
579 desc->u.Texture2DArray.ArraySize = texture_desc.ArraySize;
584 desc->u.Texture2DMSArray.FirstArraySlice = 0;
585 desc->u.Texture2DMSArray.ArraySize = texture_desc.ArraySize;
592 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
594 D3D11_TEXTURE3D_DESC texture_desc;
599 ERR(
"Resource of type TEXTURE3D doesn't implement ID3D11Texture3D.\n");
603 ID3D11Texture3D_GetDesc(
texture, &texture_desc);
604 ID3D11Texture3D_Release(
texture);
606 desc->Format = texture_desc.Format;
608 desc->u.Texture3D.MostDetailedMip = 0;
609 desc->u.Texture3D.MipLevels = texture_desc.MipLevels;
615 WARN(
"Invalid resource dimension %#x.\n", dimension);
622 unsigned int miplevel_count, layer_count;
623 D3D11_RESOURCE_DIMENSION dimension;
631 case D3D11_RESOURCE_DIMENSION_BUFFER:
635 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
638 if (!
desc->u.Buffer.u2.NumElements)
640 WARN(
"Zero sized buffer view.\n");
645 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
649 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
654 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
662 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
667 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
670 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
676 WARN(
"Invalid resource dimension %#x.\n", dimension);
683 switch (
desc->ViewDimension)
686 if (
desc->u.Texture1D.MipLevels == ~0
u &&
desc->u.Texture1D.MostDetailedMip < miplevel_count)
687 desc->u.Texture1D.MipLevels = miplevel_count -
desc->u.Texture1D.MostDetailedMip;
691 if (
desc->u.Texture1DArray.MipLevels == ~0
u &&
desc->u.Texture1DArray.MostDetailedMip < miplevel_count)
692 desc->u.Texture1DArray.MipLevels = miplevel_count -
desc->u.Texture1DArray.MostDetailedMip;
693 if (
desc->u.Texture1DArray.ArraySize == ~0
u &&
desc->u.Texture1DArray.FirstArraySlice < miplevel_count)
694 desc->u.Texture1DArray.ArraySize = layer_count -
desc->u.Texture1DArray.FirstArraySlice;
698 if (
desc->u.Texture2D.MipLevels == ~0
u &&
desc->u.Texture2D.MostDetailedMip < miplevel_count)
699 desc->u.Texture2D.MipLevels = miplevel_count -
desc->u.Texture2D.MostDetailedMip;
703 if (
desc->u.Texture2DArray.MipLevels == ~0
u &&
desc->u.Texture2DArray.MostDetailedMip < miplevel_count)
704 desc->u.Texture2DArray.MipLevels = miplevel_count -
desc->u.Texture2DArray.MostDetailedMip;
705 if (
desc->u.Texture2DArray.ArraySize == ~0
u &&
desc->u.Texture2DArray.FirstArraySlice < layer_count)
706 desc->u.Texture2DArray.ArraySize = layer_count -
desc->u.Texture2DArray.FirstArraySlice;
710 if (
desc->u.Texture2DMSArray.ArraySize == ~0
u &&
desc->u.Texture2DMSArray.FirstArraySlice < layer_count)
711 desc->u.Texture2DMSArray.ArraySize = layer_count -
desc->u.Texture2DMSArray.FirstArraySlice;
715 if (
desc->u.Texture3D.MipLevels == ~0
u &&
desc->u.Texture3D.MostDetailedMip < miplevel_count)
716 desc->u.Texture3D.MipLevels = miplevel_count -
desc->u.Texture3D.MostDetailedMip;
720 if (
desc->u.TextureCube.MipLevels == ~0
u &&
desc->u.TextureCube.MostDetailedMip < miplevel_count)
721 desc->u.TextureCube.MipLevels = miplevel_count -
desc->u.TextureCube.MostDetailedMip;
725 if (
desc->u.TextureCubeArray.MipLevels == ~0
u &&
desc->u.TextureCubeArray.MostDetailedMip < miplevel_count)
726 desc->u.TextureCubeArray.MipLevels = miplevel_count -
desc->u.TextureCubeArray.MostDetailedMip;
727 if (
desc->u.TextureCubeArray.NumCubes == ~0
u &&
desc->u.TextureCubeArray.First2DArrayFace < layer_count)
728 desc->u.TextureCubeArray.NumCubes = (layer_count -
desc->u.TextureCubeArray.First2DArrayFace) / 6;
740 D3D11_RESOURCE_DIMENSION dimension;
742 ID3D11Resource_GetType(
resource, &dimension);
746 case D3D11_RESOURCE_DIMENSION_BUFFER:
748 D3D11_BUFFER_DESC buffer_desc;
753 ERR(
"Resource of type BUFFER doesn't implement ID3D11Buffer.\n");
757 ID3D11Buffer_GetDesc(
buffer, &buffer_desc);
758 ID3D11Buffer_Release(
buffer);
763 desc->ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
764 desc->u.Buffer.FirstElement = 0;
765 desc->u.Buffer.NumElements = buffer_desc.ByteWidth / buffer_desc.StructureByteStride;
766 desc->u.Buffer.Flags = 0;
773 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
775 D3D11_TEXTURE2D_DESC texture_desc;
780 ERR(
"Resource of type TEXTURE2D doesn't implement ID3D11Texture2D.\n");
784 ID3D11Texture2D_GetDesc(
texture, &texture_desc);
785 ID3D11Texture2D_Release(
texture);
787 if (texture_desc.SampleDesc.Count != 1)
789 WARN(
"Trying to create view for multisample texture.\n");
793 desc->Format = texture_desc.Format;
794 if (texture_desc.ArraySize == 1)
796 desc->ViewDimension = D3D11_UAV_DIMENSION_TEXTURE2D;
797 desc->u.Texture2D.MipSlice = 0;
801 desc->ViewDimension = D3D11_UAV_DIMENSION_TEXTURE2DARRAY;
802 desc->u.Texture2DArray.MipSlice = 0;
803 desc->u.Texture2DArray.FirstArraySlice = 0;
804 desc->u.Texture2DArray.ArraySize = texture_desc.ArraySize;
810 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
812 D3D11_TEXTURE3D_DESC texture_desc;
817 ERR(
"Resource of type TEXTURE3D doesn't implement ID3D11Texture3D.\n");
821 ID3D11Texture3D_GetDesc(
texture, &texture_desc);
822 ID3D11Texture3D_Release(
texture);
824 desc->Format = texture_desc.Format;
825 desc->ViewDimension = D3D11_UAV_DIMENSION_TEXTURE3D;
826 desc->u.Texture3D.MipSlice = 0;
827 desc->u.Texture3D.FirstWSlice = 0;
828 desc->u.Texture3D.WSize = texture_desc.Depth;
834 FIXME(
"Unhandled resource dimension %#x.\n", dimension);
841 D3D11_RESOURCE_DIMENSION dimension;
842 unsigned int layer_count;
850 case D3D11_RESOURCE_DIMENSION_BUFFER:
851 if (
desc->ViewDimension != D3D11_UAV_DIMENSION_BUFFER)
853 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
858 case D3D11_RESOURCE_DIMENSION_TEXTURE1D:
859 if (
desc->ViewDimension != D3D11_UAV_DIMENSION_TEXTURE1D
860 &&
desc->ViewDimension != D3D11_UAV_DIMENSION_TEXTURE1DARRAY)
862 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
867 case D3D11_RESOURCE_DIMENSION_TEXTURE2D:
868 if (
desc->ViewDimension != D3D11_UAV_DIMENSION_TEXTURE2D
869 &&
desc->ViewDimension != D3D11_UAV_DIMENSION_TEXTURE2DARRAY)
871 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
876 case D3D11_RESOURCE_DIMENSION_TEXTURE3D:
877 if (
desc->ViewDimension != D3D11_UAV_DIMENSION_TEXTURE3D)
879 WARN(
"Incompatible dimensions %#x, %#x.\n", dimension,
desc->ViewDimension);
885 WARN(
"Invalid resource dimension %#x.\n", dimension);
892 switch (
desc->ViewDimension)
894 case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
895 if (
desc->u.Texture1DArray.ArraySize == ~0
u &&
desc->u.Texture1DArray.FirstArraySlice < layer_count)
896 desc->u.Texture1DArray.ArraySize = layer_count -
desc->u.Texture1DArray.FirstArraySlice;
899 case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
900 if (
desc->u.Texture2DArray.ArraySize == ~0
u &&
desc->u.Texture2DArray.FirstArraySlice < layer_count)
901 desc->u.Texture2DArray.ArraySize = layer_count -
desc->u.Texture2DArray.FirstArraySlice;
904 case D3D11_UAV_DIMENSION_TEXTURE3D:
905 layer_count =
max(1, layer_count >>
desc->u.Texture3D.MipSlice);
906 if (
desc->u.Texture3D.WSize == ~0
u &&
desc->u.Texture3D.FirstWSlice < layer_count)
907 desc->u.Texture3D.WSize = layer_count -
desc->u.Texture3D.FirstWSlice;
936 ID3D11DepthStencilView_AddRef(iface);
945 ID3D10DepthStencilView_AddRef(&
view->ID3D10DepthStencilView_iface);
946 *
object = &
view->ID3D10DepthStencilView_iface;
965 ID3D11Device2_AddRef(
view->device);
983 ID3D11Device2_Release(
device);
997 ID3D11Device_AddRef(*
device);
1042 D3D11_DEPTH_STENCIL_VIEW_DESC *
desc)
1046 TRACE(
"iface %p, desc %p.\n", iface,
desc);
1091 TRACE(
"iface %p.\n", iface);
1100 TRACE(
"iface %p.\n", iface);
1113 ID3D11Device2_QueryInterface(
view->device, &IID_ID3D10Device, (
void **)
device);
1121 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
1132 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
1157 ID3D11Resource_QueryInterface(
view->resource, &IID_ID3D10Resource, (
void **)
resource);
1166 const D3D11_DEPTH_STENCIL_VIEW_DESC *d3d11_desc = &
view->desc;
1168 TRACE(
"iface %p, desc %p.\n", iface,
desc);
1170 desc->Format = d3d11_desc->Format;
1206 const D3D11_DEPTH_STENCIL_VIEW_DESC *
desc)
1210 wined3d_desc->
flags = 0;
1216 wined3d_desc->
u.
texture.level_count = 1;
1217 switch (
desc->ViewDimension)
1220 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1D.MipSlice;
1221 wined3d_desc->
u.
texture.layer_idx = 0;
1222 wined3d_desc->
u.
texture.layer_count = 1;
1227 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1DArray.MipSlice;
1228 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture1DArray.FirstArraySlice;
1229 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture1DArray.ArraySize;
1233 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2D.MipSlice;
1234 wined3d_desc->
u.
texture.layer_idx = 0;
1235 wined3d_desc->
u.
texture.layer_count = 1;
1240 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2DArray.MipSlice;
1241 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DArray.FirstArraySlice;
1242 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DArray.ArraySize;
1246 wined3d_desc->
u.
texture.level_idx = 0;
1247 wined3d_desc->
u.
texture.layer_idx = 0;
1248 wined3d_desc->
u.
texture.layer_count = 1;
1253 wined3d_desc->
u.
texture.level_idx = 0;
1254 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DMSArray.FirstArraySlice;
1255 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DMSArray.ArraySize;
1259 FIXME(
"Unhandled view dimension %#x.\n",
desc->ViewDimension);
1260 wined3d_desc->
u.
texture.level_idx = 0;
1261 wined3d_desc->
u.
texture.layer_idx = 0;
1262 wined3d_desc->
u.
texture.layer_count = 1;
1268 ID3D11Resource *
resource,
const D3D11_DEPTH_STENCIL_VIEW_DESC *
desc)
1294 ERR(
"Failed to get wined3d resource for d3d11 resource %p.\n",
resource);
1303 WARN(
"Failed to create a wined3d rendertarget view, hr %#lx.\n",
hr);
1310 ID3D11Device2_AddRef(
view->device = &
device->ID3D11Device2_iface);
1321 if (!(
object =
calloc(1,
sizeof(*
object))))
1326 WARN(
"Failed to initialise depth/stencil view, hr %#lx.\n",
hr);
1331 TRACE(
"Created depthstencil view %p.\n",
object);
1374 ID3D11RenderTargetView_AddRef(iface);
1383 ID3D10RenderTargetView_AddRef(&
view->ID3D10RenderTargetView_iface);
1384 *
object = &
view->ID3D10RenderTargetView_iface;
1403 ID3D11Device2_AddRef(
view->device);
1421 ID3D11Device2_Release(
device);
1435 ID3D11Device_AddRef(*
device);
1480 D3D11_RENDER_TARGET_VIEW_DESC *
desc)
1484 TRACE(
"iface %p, desc %p.\n", iface,
desc);
1529 TRACE(
"iface %p.\n", iface);
1538 TRACE(
"iface %p.\n", iface);
1551 ID3D11Device2_QueryInterface(
view->device, &IID_ID3D10Device, (
void **)
device);
1559 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
1570 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
1595 ID3D11Resource_QueryInterface(
view->resource, &IID_ID3D10Resource, (
void **)
resource);
1605 TRACE(
"iface %p, desc %p\n", iface,
desc);
1641 const D3D11_RENDER_TARGET_VIEW_DESC *
desc)
1645 wined3d_desc->
flags = 0;
1646 wined3d_desc->
u.
texture.level_count = 1;
1647 switch (
desc->ViewDimension)
1649 case D3D11_RTV_DIMENSION_BUFFER:
1650 wined3d_desc->
u.
buffer.start_idx =
desc->u.Buffer.u1.FirstElement;
1651 wined3d_desc->
u.
buffer.count =
desc->u.Buffer.u2.NumElements;
1654 case D3D11_RTV_DIMENSION_TEXTURE1D:
1655 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1D.MipSlice;
1656 wined3d_desc->
u.
texture.layer_idx = 0;
1657 wined3d_desc->
u.
texture.layer_count = 1;
1660 case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
1662 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1DArray.MipSlice;
1663 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture1DArray.FirstArraySlice;
1664 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture1DArray.ArraySize;
1667 case D3D11_RTV_DIMENSION_TEXTURE2D:
1668 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2D.MipSlice;
1669 wined3d_desc->
u.
texture.layer_idx = 0;
1670 wined3d_desc->
u.
texture.layer_count = 1;
1673 case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
1675 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2DArray.MipSlice;
1676 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DArray.FirstArraySlice;
1677 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DArray.ArraySize;
1680 case D3D11_RTV_DIMENSION_TEXTURE2DMS:
1681 wined3d_desc->
u.
texture.level_idx = 0;
1682 wined3d_desc->
u.
texture.layer_idx = 0;
1683 wined3d_desc->
u.
texture.layer_count = 1;
1686 case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
1688 wined3d_desc->
u.
texture.level_idx = 0;
1689 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DMSArray.FirstArraySlice;
1690 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DMSArray.ArraySize;
1693 case D3D11_RTV_DIMENSION_TEXTURE3D:
1694 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture3D.MipSlice;
1695 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture3D.FirstWSlice;
1696 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture3D.WSize;
1700 FIXME(
"Unhandled view dimension %#x.\n",
desc->ViewDimension);
1701 wined3d_desc->
u.
texture.level_idx = 0;
1702 wined3d_desc->
u.
texture.layer_idx = 0;
1703 wined3d_desc->
u.
texture.layer_count = 1;
1709 ID3D11Resource *
resource,
const D3D11_RENDER_TARGET_VIEW_DESC *
desc)
1735 ERR(
"Failed to get wined3d resource for d3d11 resource %p.\n",
resource);
1744 WARN(
"Failed to create a wined3d rendertarget view, hr %#lx.\n",
hr);
1751 ID3D11Device2_AddRef(
view->device = &
device->ID3D11Device2_iface);
1762 if (!(
object =
calloc(1,
sizeof(*
object))))
1767 WARN(
"Failed to initialise rendertarget view, hr %#lx.\n",
hr);
1772 TRACE(
"Created rendertarget view %p.\n",
object);
1815 ID3D11ShaderResourceView_AddRef(iface);
1825 ID3D10ShaderResourceView1_AddRef(&
view->ID3D10ShaderResourceView1_iface);
1826 *
object = &
view->ID3D10ShaderResourceView1_iface;
1845 ID3D11Device2_AddRef(
view->device);
1863 ID3D11Device2_Release(
device);
1877 ID3D11Device_AddRef(*
device);
1922 D3D11_SHADER_RESOURCE_VIEW_DESC *
desc)
1926 TRACE(
"iface %p, desc %p.\n", iface,
desc);
1971 TRACE(
"iface %p.\n", iface);
1980 TRACE(
"iface %p.\n", iface);
1994 ID3D11Device2_QueryInterface(
view->device, &IID_ID3D10Device, (
void **)
device);
2002 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
2013 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
2038 ID3D11Resource_QueryInterface(
view->resource, &IID_ID3D10Resource, (
void **)
resource);
2048 TRACE(
"iface %p, desc %p.\n", iface,
desc);
2058 TRACE(
"iface %p, desc %p.\n", iface,
desc);
2099 if (d3d11_flags != wined3d_flags)
2100 FIXME(
"Unhandled flags %#x.\n", d3d11_flags & ~wined3d_flags);
2102 return wined3d_flags;
2106 const D3D11_SHADER_RESOURCE_VIEW_DESC *
desc)
2109 wined3d_desc->
flags = 0;
2111 switch (
desc->ViewDimension)
2114 wined3d_desc->
u.
buffer.start_idx =
desc->u.Buffer.u1.FirstElement;
2115 wined3d_desc->
u.
buffer.count =
desc->u.Buffer.u2.NumElements;
2119 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1D.MostDetailedMip;
2120 wined3d_desc->
u.
texture.level_count =
desc->u.Texture1D.MipLevels;
2121 wined3d_desc->
u.
texture.layer_idx = 0;
2122 wined3d_desc->
u.
texture.layer_count = 1;
2127 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1DArray.MostDetailedMip;
2128 wined3d_desc->
u.
texture.level_count =
desc->u.Texture1DArray.MipLevels;
2129 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture1DArray.FirstArraySlice;
2130 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture1DArray.ArraySize;
2134 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2D.MostDetailedMip;
2135 wined3d_desc->
u.
texture.level_count =
desc->u.Texture2D.MipLevels;
2136 wined3d_desc->
u.
texture.layer_idx = 0;
2137 wined3d_desc->
u.
texture.layer_count = 1;
2142 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2DArray.MostDetailedMip;
2143 wined3d_desc->
u.
texture.level_count =
desc->u.Texture2DArray.MipLevels;
2144 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DArray.FirstArraySlice;
2145 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DArray.ArraySize;
2149 wined3d_desc->
u.
texture.level_idx = 0;
2150 wined3d_desc->
u.
texture.level_count = 1;
2151 wined3d_desc->
u.
texture.layer_idx = 0;
2152 wined3d_desc->
u.
texture.layer_count = 1;
2157 wined3d_desc->
u.
texture.level_idx = 0;
2158 wined3d_desc->
u.
texture.level_count = 1;
2159 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DMSArray.FirstArraySlice;
2160 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DMSArray.ArraySize;
2164 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture3D.MostDetailedMip;
2165 wined3d_desc->
u.
texture.level_count =
desc->u.Texture3D.MipLevels;
2166 wined3d_desc->
u.
texture.layer_idx = 0;
2167 wined3d_desc->
u.
texture.layer_count = 1;
2172 wined3d_desc->
u.
texture.level_idx =
desc->u.TextureCube.MostDetailedMip;
2173 wined3d_desc->
u.
texture.level_count =
desc->u.TextureCube.MipLevels;
2174 wined3d_desc->
u.
texture.layer_idx = 0;
2175 wined3d_desc->
u.
texture.layer_count = 6;
2180 wined3d_desc->
u.
texture.level_idx =
desc->u.TextureCubeArray.MostDetailedMip;
2181 wined3d_desc->
u.
texture.level_count =
desc->u.TextureCubeArray.MipLevels;
2182 wined3d_desc->
u.
texture.layer_idx =
desc->u.TextureCubeArray.First2DArrayFace;
2183 wined3d_desc->
u.
texture.layer_count = 6 *
desc->u.TextureCubeArray.NumCubes;
2188 wined3d_desc->
u.
buffer.start_idx =
desc->u.BufferEx.FirstElement;
2189 wined3d_desc->
u.
buffer.count =
desc->u.BufferEx.NumElements;
2193 WARN(
"Unrecognized view dimension %#x.\n",
desc->ViewDimension);
2201 ID3D11Resource *
resource,
const D3D11_SHADER_RESOURCE_VIEW_DESC *
desc)
2230 ERR(
"Failed to get wined3d resource for d3d11 resource %p.\n",
resource);
2238 WARN(
"Failed to create wined3d shader resource view, hr %#lx.\n",
hr);
2245 ID3D11Device2_AddRef(
view->device = &
device->ID3D11Device2_iface);
2256 if (!(
object =
calloc(1,
sizeof(*
object))))
2261 WARN(
"Failed to initialise shader resource view, hr %#lx.\n",
hr);
2266 TRACE(
"Created shader resource view %p.\n",
object);
2305 ID3D11UnorderedAccessView_AddRef(*
object = iface);
2324 ID3D11Device2_AddRef(
view->device);
2342 ID3D11Device2_Release(
device);
2355 ID3D11Device_AddRef(*
device = (ID3D11Device *)
view->device);
2399 D3D11_UNORDERED_ACCESS_VIEW_DESC *
desc)
2403 TRACE(
"iface %p, desc %p.\n", iface,
desc);
2443 if (d3d11_flags != wined3d_flags)
2444 FIXME(
"Unhandled flags %#x.\n", d3d11_flags & ~wined3d_flags);
2446 return wined3d_flags;
2450 const D3D11_UNORDERED_ACCESS_VIEW_DESC *
desc)
2454 wined3d_desc->
flags = 0;
2455 wined3d_desc->
u.
texture.level_count = 1;
2456 switch (
desc->ViewDimension)
2458 case D3D11_UAV_DIMENSION_BUFFER:
2460 wined3d_desc->
u.
buffer.start_idx =
desc->u.Buffer.FirstElement;
2461 wined3d_desc->
u.
buffer.count =
desc->u.Buffer.NumElements;
2464 case D3D11_UAV_DIMENSION_TEXTURE1D:
2465 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1D.MipSlice;
2466 wined3d_desc->
u.
texture.layer_idx = 0;
2467 wined3d_desc->
u.
texture.layer_count = 1;
2470 case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
2472 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture1DArray.MipSlice;
2473 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture1DArray.FirstArraySlice;
2474 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture1DArray.ArraySize;
2477 case D3D11_UAV_DIMENSION_TEXTURE2D:
2478 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2D.MipSlice;
2479 wined3d_desc->
u.
texture.layer_idx = 0;
2480 wined3d_desc->
u.
texture.layer_count = 1;
2483 case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
2485 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture2DArray.MipSlice;
2486 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture2DArray.FirstArraySlice;
2487 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture2DArray.ArraySize;
2490 case D3D11_UAV_DIMENSION_TEXTURE3D:
2491 wined3d_desc->
u.
texture.level_idx =
desc->u.Texture3D.MipSlice;
2492 wined3d_desc->
u.
texture.layer_idx =
desc->u.Texture3D.FirstWSlice;
2493 wined3d_desc->
u.
texture.layer_count =
desc->u.Texture3D.WSize;
2497 WARN(
"Unrecognized view dimension %#x.\n",
desc->ViewDimension);
2533 ERR(
"Failed to get wined3d resource for d3d11 resource %p.\n",
resource);
2541 WARN(
"Failed to create wined3d unordered access view, hr %#lx.\n",
hr);
2548 ID3D11Device2_AddRef(
view->device = &
device->ID3D11Device2_iface);
2559 if (!(
object =
calloc(1,
sizeof(*
object))))
2564 WARN(
"Failed to initialise unordered access view, hr %#lx.\n",
hr);
2569 TRACE(
"Created unordered access view %p.\n",
object);
2599 ID3D11VideoDecoderOutputView_AddRef(*
object = iface);
2628 ID3D11Device2_Release(&
view->device->ID3D11Device2_iface);
2643 ID3D11Device_AddRef(*
device = (ID3D11Device *)
view->device);
2677 ID3D11VideoDecoderOutputView *iface, ID3D11Resource **
resource)
2687 ID3D11VideoDecoderOutputView *iface, D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *
desc)
2691 TRACE(
"iface %p, desc %p.\n", iface,
desc);
2724 ID3D11Device2_AddRef(&
device->ID3D11Device2_iface);
2737 if (!(
object =
calloc(1,
sizeof(*
object))))
2742 WARN(
"Failed to initialise video decoder output view, hr %#lx.\n",
hr);
2747 TRACE(
"Created video decoder output view %p.\n",
object);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
@ D3D11_RESOURCE_MISC_BUFFER_STRUCTURED
@ D3D11_RESOURCE_MISC_TEXTURECUBE
@ D3D11_DSV_DIMENSION_TEXTURE2DMS
@ D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY
@ D3D11_DSV_DIMENSION_TEXTURE2D
@ D3D11_DSV_DIMENSION_TEXTURE1DARRAY
@ D3D11_DSV_DIMENSION_TEXTURE2DARRAY
@ D3D11_DSV_DIMENSION_TEXTURE1D
@ D3D11_DSV_READ_ONLY_STENCIL
@ D3D11_DSV_READ_ONLY_DEPTH
struct wined3d_resource * wined3d_resource_from_d3d11_resource(ID3D11Resource *resource)
enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format)
HRESULT d3d_get_private_data(struct wined3d_private_store *store, REFGUID guid, UINT *data_size, void *data)
struct d3d_texture2d * unsafe_impl_from_ID3D11Texture2D(ID3D11Texture2D *iface)
struct d3d_texture3d * unsafe_impl_from_ID3D11Texture3D(ID3D11Texture3D *iface)
struct d3d_texture1d * unsafe_impl_from_ID3D11Texture1D(ID3D11Texture1D *iface)
HRESULT d3d_set_private_data_interface(struct wined3d_private_store *store, REFGUID guid, const IUnknown *object)
HRESULT d3d_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data)
@ D3D11_SRV_DIMENSION_TEXTURE1D
@ D3D11_SRV_DIMENSION_TEXTURECUBE
@ D3D11_SRV_DIMENSION_TEXTURE2DARRAY
@ D3D11_SRV_DIMENSION_BUFFER
@ D3D11_SRV_DIMENSION_TEXTURE1DARRAY
@ D3D11_SRV_DIMENSION_BUFFEREX
@ D3D11_SRV_DIMENSION_TEXTURE2DMS
@ D3D11_SRV_DIMENSION_TEXTURE3D
@ D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY
@ D3D11_SRV_DIMENSION_TEXTURE2D
@ D3D11_SRV_DIMENSION_TEXTURECUBEARRAY
static HRESULT STDMETHODCALLTYPE d3d11_video_decoder_output_view_GetPrivateData(ID3D11VideoDecoderOutputView *iface, REFGUID guid, UINT *data_size, void *data)
static const struct ID3D11ShaderResourceViewVtbl d3d11_shader_resource_view_vtbl
static ULONG STDMETHODCALLTYPE d3d10_rendertarget_view_Release(ID3D10RenderTargetView *iface)
static ULONG STDMETHODCALLTYPE d3d11_rendertarget_view_Release(ID3D11RenderTargetView *iface)
struct d3d11_unordered_access_view * unsafe_impl_from_ID3D11UnorderedAccessView(ID3D11UnorderedAccessView *iface)
static ULONG STDMETHODCALLTYPE d3d11_shader_resource_view_AddRef(ID3D11ShaderResourceView *iface)
static HRESULT d3d_shader_resource_view_init(struct d3d_shader_resource_view *view, struct d3d_device *device, ID3D11Resource *resource, const D3D11_SHADER_RESOURCE_VIEW_DESC *desc)
struct d3d_rendertarget_view * unsafe_impl_from_ID3D11RenderTargetView(ID3D11RenderTargetView *iface)
static ULONG STDMETHODCALLTYPE d3d11_depthstencil_view_Release(ID3D11DepthStencilView *iface)
static void STDMETHODCALLTYPE d3d_depth_stencil_view_wined3d_object_destroyed(void *parent)
static HRESULT set_srv_desc_from_resource(D3D11_SHADER_RESOURCE_VIEW_DESC *desc, ID3D11Resource *resource)
static HRESULT set_uav_desc_from_resource(D3D11_UNORDERED_ACCESS_VIEW_DESC *desc, ID3D11Resource *resource)
static HRESULT STDMETHODCALLTYPE d3d11_video_decoder_output_view_SetPrivateData(ID3D11VideoDecoderOutputView *iface, REFGUID guid, UINT data_size, const void *data)
static struct d3d_depthstencil_view * impl_from_ID3D10DepthStencilView(ID3D10DepthStencilView *iface)
static HRESULT STDMETHODCALLTYPE d3d11_video_decoder_output_view_QueryInterface(ID3D11VideoDecoderOutputView *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_rendertarget_view_QueryInterface(ID3D11RenderTargetView *iface, REFIID riid, void **object)
static const struct ID3D11VideoDecoderOutputViewVtbl d3d11_video_decoder_output_view_vtbl
static void STDMETHODCALLTYPE d3d10_rendertarget_view_GetDesc(ID3D10RenderTargetView *iface, D3D10_RENDER_TARGET_VIEW_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d11_shader_resource_view_GetPrivateData(ID3D11ShaderResourceView *iface, REFGUID guid, UINT *data_size, void *data)
static void STDMETHODCALLTYPE d3d10_depthstencil_view_GetDesc(ID3D10DepthStencilView *iface, D3D10_DEPTH_STENCIL_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d11_rendertarget_view_GetResource(ID3D11RenderTargetView *iface, ID3D11Resource **resource)
static void STDMETHODCALLTYPE d3d11_depthstencil_view_GetDesc(ID3D11DepthStencilView *iface, D3D11_DEPTH_STENCIL_VIEW_DESC *desc)
static unsigned int wined3d_view_flags_from_d3d11_bufferex_flags(unsigned int d3d11_flags)
static HRESULT STDMETHODCALLTYPE d3d11_unordered_access_view_SetPrivateDataInterface(ID3D11UnorderedAccessView *iface, REFGUID guid, const IUnknown *data)
static struct d3d_rendertarget_view * impl_from_ID3D10RenderTargetView(ID3D10RenderTargetView *iface)
static struct d3d_rendertarget_view * impl_from_ID3D11RenderTargetView(ID3D11RenderTargetView *iface)
static void STDMETHODCALLTYPE d3d11_shader_resource_view_GetDesc(ID3D11ShaderResourceView *iface, D3D11_SHADER_RESOURCE_VIEW_DESC *desc)
static HRESULT normalize_dsv_desc(D3D11_DEPTH_STENCIL_VIEW_DESC *desc, ID3D11Resource *resource)
static HRESULT STDMETHODCALLTYPE d3d10_depthstencil_view_SetPrivateData(ID3D10DepthStencilView *iface, REFGUID guid, UINT data_size, const void *data)
struct d3d_depthstencil_view * unsafe_impl_from_ID3D11DepthStencilView(ID3D11DepthStencilView *iface)
static HRESULT STDMETHODCALLTYPE d3d10_shader_resource_view_SetPrivateData(ID3D10ShaderResourceView1 *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT set_rtv_desc_from_resource(D3D11_RENDER_TARGET_VIEW_DESC *desc, ID3D11Resource *resource)
static HRESULT STDMETHODCALLTYPE d3d10_rendertarget_view_QueryInterface(ID3D10RenderTargetView *iface, REFIID riid, void **object)
static void wined3d_rendertarget_view_desc_from_d3d11(struct wined3d_view_desc *wined3d_desc, const D3D11_RENDER_TARGET_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d11_video_decoder_output_view_GetDevice(ID3D11VideoDecoderOutputView *iface, ID3D11Device **device)
static void STDMETHODCALLTYPE d3d11_unordered_access_view_GetResource(ID3D11UnorderedAccessView *iface, ID3D11Resource **resource)
static HRESULT STDMETHODCALLTYPE d3d11_unordered_access_view_GetPrivateData(ID3D11UnorderedAccessView *iface, REFGUID guid, UINT *data_size, void *data)
static const struct ID3D11UnorderedAccessViewVtbl d3d11_unordered_access_view_vtbl
struct d3d_depthstencil_view * unsafe_impl_from_ID3D10DepthStencilView(ID3D10DepthStencilView *iface)
static ULONG STDMETHODCALLTYPE d3d11_video_decoder_output_view_Release(ID3D11VideoDecoderOutputView *iface)
static HRESULT set_dsv_desc_from_resource(D3D11_DEPTH_STENCIL_VIEW_DESC *desc, ID3D11Resource *resource)
static HRESULT wined3d_shader_resource_view_desc_from_d3d11(struct wined3d_view_desc *wined3d_desc, const D3D11_SHADER_RESOURCE_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d11_rendertarget_view_GetDevice(ID3D11RenderTargetView *iface, ID3D11Device **device)
static void STDMETHODCALLTYPE d3d_shader_resource_view_wined3d_object_destroyed(void *parent)
static HRESULT STDMETHODCALLTYPE d3d11_depthstencil_view_QueryInterface(ID3D11DepthStencilView *iface, REFIID riid, void **object)
static struct d3d_video_decoder_output_view * impl_from_ID3D11VideoDecoderOutputView(ID3D11VideoDecoderOutputView *iface)
static HRESULT STDMETHODCALLTYPE d3d10_rendertarget_view_SetPrivateDataInterface(ID3D10RenderTargetView *iface, REFGUID guid, const IUnknown *data)
static HRESULT d3d11_unordered_access_view_init(struct d3d11_unordered_access_view *view, struct d3d_device *device, ID3D11Resource *resource, const D3D11_UNORDERED_ACCESS_VIEW_DESC *desc)
static void wined3d_depth_stencil_view_desc_from_d3d11(struct wined3d_view_desc *wined3d_desc, const D3D11_DEPTH_STENCIL_VIEW_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d10_shader_resource_view_GetPrivateData(ID3D10ShaderResourceView1 *iface, REFGUID guid, UINT *data_size, void *data)
static const struct ID3D10ShaderResourceView1Vtbl d3d10_shader_resource_view_vtbl
static void STDMETHODCALLTYPE d3d11_unordered_access_view_GetDesc(ID3D11UnorderedAccessView *iface, D3D11_UNORDERED_ACCESS_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d11_depthstencil_view_GetDevice(ID3D11DepthStencilView *iface, ID3D11Device **device)
static const struct ID3D10RenderTargetViewVtbl d3d10_rendertarget_view_vtbl
static void STDMETHODCALLTYPE d3d10_rendertarget_view_GetResource(ID3D10RenderTargetView *iface, ID3D10Resource **resource)
static void STDMETHODCALLTYPE d3d11_shader_resource_view_GetResource(ID3D11ShaderResourceView *iface, ID3D11Resource **resource)
static void STDMETHODCALLTYPE d3d11_depthstencil_view_GetResource(ID3D11DepthStencilView *iface, ID3D11Resource **resource)
static void STDMETHODCALLTYPE d3d10_shader_resource_view_GetDevice(ID3D10ShaderResourceView1 *iface, ID3D10Device **device)
static ULONG STDMETHODCALLTYPE d3d11_shader_resource_view_Release(ID3D11ShaderResourceView *iface)
static HRESULT normalize_uav_desc(D3D11_UNORDERED_ACCESS_VIEW_DESC *desc, ID3D11Resource *resource)
static void STDMETHODCALLTYPE d3d10_shader_resource_view_GetResource(ID3D10ShaderResourceView1 *iface, ID3D10Resource **resource)
static ULONG STDMETHODCALLTYPE d3d10_rendertarget_view_AddRef(ID3D10RenderTargetView *iface)
static const struct ID3D10DepthStencilViewVtbl d3d10_depthstencil_view_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_depthstencil_view_GetPrivateData(ID3D10DepthStencilView *iface, REFGUID guid, UINT *data_size, void *data)
static HRESULT STDMETHODCALLTYPE d3d10_depthstencil_view_QueryInterface(ID3D10DepthStencilView *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_depthstencil_view_SetPrivateData(ID3D11DepthStencilView *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT STDMETHODCALLTYPE d3d11_video_decoder_output_view_SetPrivateDataInterface(ID3D11VideoDecoderOutputView *iface, REFGUID guid, const IUnknown *data)
static ULONG STDMETHODCALLTYPE d3d10_depthstencil_view_AddRef(ID3D10DepthStencilView *iface)
static void STDMETHODCALLTYPE d3d11_unordered_access_view_wined3d_object_destroyed(void *parent)
static ULONG STDMETHODCALLTYPE d3d10_depthstencil_view_Release(ID3D10DepthStencilView *iface)
static void STDMETHODCALLTYPE d3d_render_target_view_wined3d_object_destroyed(void *parent)
static ULONG STDMETHODCALLTYPE d3d10_shader_resource_view_Release(ID3D10ShaderResourceView1 *iface)
HRESULT d3d_shader_resource_view_create(struct d3d_device *device, ID3D11Resource *resource, const D3D11_SHADER_RESOURCE_VIEW_DESC *desc, struct d3d_shader_resource_view **view)
static HRESULT STDMETHODCALLTYPE d3d10_shader_resource_view_QueryInterface(ID3D10ShaderResourceView1 *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d10_rendertarget_view_SetPrivateData(ID3D10RenderTargetView *iface, REFGUID guid, UINT data_size, const void *data)
static ULONG STDMETHODCALLTYPE d3d10_shader_resource_view_AddRef(ID3D10ShaderResourceView1 *iface)
static void STDMETHODCALLTYPE d3d11_video_decoder_output_view_GetResource(ID3D11VideoDecoderOutputView *iface, ID3D11Resource **resource)
HRESULT d3d_video_decoder_output_view_create(struct d3d_device *device, ID3D11Resource *resource, const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *desc, struct d3d_video_decoder_output_view **view)
static struct d3d_shader_resource_view * impl_from_ID3D10ShaderResourceView(ID3D10ShaderResourceView1 *iface)
static ULONG STDMETHODCALLTYPE d3d11_rendertarget_view_AddRef(ID3D11RenderTargetView *iface)
static HRESULT d3d_depthstencil_view_init(struct d3d_depthstencil_view *view, struct d3d_device *device, ID3D11Resource *resource, const D3D11_DEPTH_STENCIL_VIEW_DESC *desc)
static ULONG STDMETHODCALLTYPE d3d11_unordered_access_view_Release(ID3D11UnorderedAccessView *iface)
static HRESULT get_resource_properties(ID3D11Resource *resource, D3D11_RESOURCE_DIMENSION *dimension, DXGI_FORMAT *format, unsigned int *miplevel_count, unsigned int *layer_count)
struct d3d_rendertarget_view * unsafe_impl_from_ID3D10RenderTargetView(ID3D10RenderTargetView *iface)
static const struct ID3D11DepthStencilViewVtbl d3d11_depthstencil_view_vtbl
static HRESULT STDMETHODCALLTYPE d3d11_depthstencil_view_GetPrivateData(ID3D11DepthStencilView *iface, REFGUID guid, UINT *data_size, void *data)
static HRESULT normalize_srv_desc(D3D11_SHADER_RESOURCE_VIEW_DESC *desc, ID3D11Resource *resource)
static struct d3d11_unordered_access_view * impl_from_ID3D11UnorderedAccessView(ID3D11UnorderedAccessView *iface)
static HRESULT STDMETHODCALLTYPE d3d11_rendertarget_view_GetPrivateData(ID3D11RenderTargetView *iface, REFGUID guid, UINT *data_size, void *data)
static struct d3d_depthstencil_view * impl_from_ID3D11DepthStencilView(ID3D11DepthStencilView *iface)
static HRESULT STDMETHODCALLTYPE d3d11_depthstencil_view_SetPrivateDataInterface(ID3D11DepthStencilView *iface, REFGUID guid, const IUnknown *data)
struct d3d_shader_resource_view * unsafe_impl_from_ID3D10ShaderResourceView(ID3D10ShaderResourceView *iface)
static HRESULT STDMETHODCALLTYPE d3d11_shader_resource_view_SetPrivateData(ID3D11ShaderResourceView *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT STDMETHODCALLTYPE d3d11_unordered_access_view_SetPrivateData(ID3D11UnorderedAccessView *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT STDMETHODCALLTYPE d3d11_shader_resource_view_QueryInterface(ID3D11ShaderResourceView *iface, REFIID riid, void **object)
static HRESULT wined3d_unordered_access_view_desc_from_d3d11(struct wined3d_view_desc *wined3d_desc, const D3D11_UNORDERED_ACCESS_VIEW_DESC *desc)
static struct d3d_shader_resource_view * impl_from_ID3D11ShaderResourceView(ID3D11ShaderResourceView *iface)
static void STDMETHODCALLTYPE d3d11_shader_resource_view_GetDevice(ID3D11ShaderResourceView *iface, ID3D11Device **device)
HRESULT d3d11_unordered_access_view_create(struct d3d_device *device, ID3D11Resource *resource, const D3D11_UNORDERED_ACCESS_VIEW_DESC *desc, struct d3d11_unordered_access_view **view)
static HRESULT STDMETHODCALLTYPE d3d10_rendertarget_view_GetPrivateData(ID3D10RenderTargetView *iface, REFGUID guid, UINT *data_size, void *data)
static void STDMETHODCALLTYPE d3d11_video_decoder_output_view_GetDesc(ID3D11VideoDecoderOutputView *iface, D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *desc)
static ULONG STDMETHODCALLTYPE d3d11_unordered_access_view_AddRef(ID3D11UnorderedAccessView *iface)
static HRESULT STDMETHODCALLTYPE d3d11_rendertarget_view_SetPrivateData(ID3D11RenderTargetView *iface, REFGUID guid, UINT data_size, const void *data)
HRESULT d3d_depthstencil_view_create(struct d3d_device *device, ID3D11Resource *resource, const D3D11_DEPTH_STENCIL_VIEW_DESC *desc, struct d3d_depthstencil_view **view)
static ULONG STDMETHODCALLTYPE d3d11_video_decoder_output_view_AddRef(ID3D11VideoDecoderOutputView *iface)
static const struct ID3D11RenderTargetViewVtbl d3d11_rendertarget_view_vtbl
static const struct wined3d_parent_ops d3d_depth_stencil_view_wined3d_parent_ops
static HRESULT STDMETHODCALLTYPE d3d11_unordered_access_view_QueryInterface(ID3D11UnorderedAccessView *iface, REFIID riid, void **object)
static void STDMETHODCALLTYPE d3d10_depthstencil_view_GetResource(ID3D10DepthStencilView *iface, ID3D10Resource **resource)
HRESULT d3d_rendertarget_view_create(struct d3d_device *device, ID3D11Resource *resource, const D3D11_RENDER_TARGET_VIEW_DESC *desc, struct d3d_rendertarget_view **view)
static void STDMETHODCALLTYPE d3d10_depthstencil_view_GetDevice(ID3D10DepthStencilView *iface, ID3D10Device **device)
static HRESULT normalize_rtv_desc(D3D11_RENDER_TARGET_VIEW_DESC *desc, ID3D11Resource *resource)
static unsigned int wined3d_view_flags_from_d3d11_buffer_uav_flags(unsigned int d3d11_flags)
static void STDMETHODCALLTYPE d3d11_unordered_access_view_GetDevice(ID3D11UnorderedAccessView *iface, ID3D11Device **device)
static const struct wined3d_parent_ops d3d11_unordered_access_view_wined3d_parent_ops
static HRESULT d3d_rendertarget_view_init(struct d3d_rendertarget_view *view, struct d3d_device *device, ID3D11Resource *resource, const D3D11_RENDER_TARGET_VIEW_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d10_depthstencil_view_SetPrivateDataInterface(ID3D10DepthStencilView *iface, REFGUID guid, const IUnknown *data)
static void STDMETHODCALLTYPE d3d10_rendertarget_view_GetDevice(ID3D10RenderTargetView *iface, ID3D10Device **device)
static ULONG STDMETHODCALLTYPE d3d11_depthstencil_view_AddRef(ID3D11DepthStencilView *iface)
static const struct wined3d_parent_ops d3d_render_target_view_wined3d_parent_ops
static void STDMETHODCALLTYPE d3d11_rendertarget_view_GetDesc(ID3D11RenderTargetView *iface, D3D11_RENDER_TARGET_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d10_shader_resource_view_GetDesc(ID3D10ShaderResourceView1 *iface, D3D10_SHADER_RESOURCE_VIEW_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d11_rendertarget_view_SetPrivateDataInterface(ID3D11RenderTargetView *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d11_shader_resource_view_SetPrivateDataInterface(ID3D11ShaderResourceView *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d10_shader_resource_view_SetPrivateDataInterface(ID3D10ShaderResourceView1 *iface, REFGUID guid, const IUnknown *data)
struct d3d_shader_resource_view * unsafe_impl_from_ID3D11ShaderResourceView(ID3D11ShaderResourceView *iface)
static HRESULT d3d_video_decoder_output_view_init(struct d3d_video_decoder_output_view *view, struct d3d_device *device, ID3D11Resource *resource, const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *desc)
static void STDMETHODCALLTYPE d3d10_shader_resource_view_GetDesc1(ID3D10ShaderResourceView1 *iface, D3D10_SHADER_RESOURCE_VIEW_DESC1 *desc)
static const struct wined3d_parent_ops d3d_shader_resource_view_wined3d_parent_ops
HRESULT CDECL wined3d_shader_resource_view_create(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader_resource_view **view)
ULONG CDECL wined3d_unordered_access_view_decref(struct wined3d_unordered_access_view *view)
HRESULT CDECL wined3d_unordered_access_view_create(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_unordered_access_view **view)
ULONG CDECL wined3d_shader_resource_view_incref(struct wined3d_shader_resource_view *view)
HRESULT CDECL wined3d_rendertarget_view_create(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_rendertarget_view **view)
ULONG CDECL wined3d_rendertarget_view_incref(struct wined3d_rendertarget_view *view)
ULONG CDECL wined3d_unordered_access_view_incref(struct wined3d_unordered_access_view *view)
ULONG CDECL wined3d_rendertarget_view_decref(struct wined3d_rendertarget_view *view)
ULONG CDECL wined3d_shader_resource_view_decref(struct wined3d_shader_resource_view *view)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
#define memcpy(s1, s2, n)
D3D11_SHADER_VARIABLE_DESC desc
#define IsEqualGUID(rguid1, rguid2)
ID3D11UnorderedAccessView ID3D11UnorderedAccessView_iface
ID3D11DepthStencilView ID3D11DepthStencilView_iface
ID3D10DepthStencilView ID3D10DepthStencilView_iface
ID3D10RenderTargetView ID3D10RenderTargetView_iface
ID3D11RenderTargetView ID3D11RenderTargetView_iface
ID3D10ShaderResourceView1 ID3D10ShaderResourceView1_iface
ID3D11ShaderResourceView ID3D11ShaderResourceView_iface
ID3D11VideoDecoderOutputView ID3D11VideoDecoderOutputView_iface
struct wined3d_view_desc::@4822::@4823 buffer
enum wined3d_format_id format_id
struct wined3d_view_desc::@4822::@4824 texture
union wined3d_view_desc::@4822 u
#define CONTAINING_RECORD(address, type, field)
#define WINED3D_VIEW_READ_ONLY_DEPTH
static void wined3d_private_store_cleanup(struct wined3d_private_store *store)
#define WINED3D_VIEW_READ_ONLY_STENCIL
#define WINED3D_VIEW_TEXTURE_CUBE
#define WINED3D_VIEW_TEXTURE_ARRAY
#define WINED3D_VIEW_BUFFER_RAW
#define WINED3D_VIEW_BUFFER_APPEND
static void wined3d_private_store_init(struct wined3d_private_store *store)
#define WINED3D_VIEW_BUFFER_COUNTER
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)