RetroArch
d3d11_common.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2014-2018 - Ali Bouhlel
3  *
4  * RetroArch is free software: you can redistribute it and/or modify it under the terms
5  * of the GNU General Public License as published by the Free Software Found-
6  * ation, either version 3 of the License, or (at your option) any later version.
7  *
8  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10  * PURPOSE. See the GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License along with RetroArch.
13  * If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #pragma once
17 
18 #include <retro_inline.h>
19 
20 #include "dxgi_common.h"
21 #ifdef CINTERFACE
22 #define D3D11_NO_HELPERS
23 #endif
24 #include <d3d11.h>
25 
29 
41 
42 /* auto-generated */
43 
77 
78 #if !defined(__cplusplus) || defined(CINTERFACE)
79 static INLINE void D3D11SetResourceEvictionPriority(D3D11Resource resource, UINT eviction_priority)
80 {
81  resource->lpVtbl->SetEvictionPriority(resource, eviction_priority);
82 }
84 {
85  return resource->lpVtbl->GetEvictionPriority(resource);
86 }
88 {
89  buffer->lpVtbl->SetEvictionPriority(buffer, eviction_priority);
90 }
92 {
93  return buffer->lpVtbl->GetEvictionPriority(buffer);
94 }
95 static INLINE void
97 {
98  texture1d->lpVtbl->SetEvictionPriority(texture1d, eviction_priority);
99 }
101 {
102  return texture1d->lpVtbl->GetEvictionPriority(texture1d);
103 }
104 static INLINE void
106 {
107  texture2d->lpVtbl->SetEvictionPriority(texture2d, eviction_priority);
108 }
110 {
111  return texture2d->lpVtbl->GetEvictionPriority(texture2d);
112 }
113 static INLINE void
115 {
116  texture3d->lpVtbl->SetEvictionPriority(texture3d, eviction_priority);
117 }
119 {
120  return texture3d->lpVtbl->GetEvictionPriority(texture3d);
121 }
123 {
124  view->lpVtbl->GetResource(view, resource);
125 }
127  D3D11ShaderResourceView shader_resource_view, D3D11Resource* resource)
128 {
129  shader_resource_view->lpVtbl->GetResource(shader_resource_view, resource);
130 }
131 static INLINE void
133 {
134  render_target_view->lpVtbl->GetResource(render_target_view, resource);
135 }
136 static INLINE void
138 {
139  depth_stencil_view->lpVtbl->GetResource(depth_stencil_view, resource);
140 }
142  D3D11UnorderedAccessView unordered_access_view, D3D11Resource* resource)
143 {
144  unordered_access_view->lpVtbl->GetResource(unordered_access_view, resource);
145 }
147 {
148  return asynchronous->lpVtbl->GetDataSize(asynchronous);
149 }
151 {
152  return query->lpVtbl->GetDataSize(query);
153 }
155 {
156  return predicate->lpVtbl->GetDataSize(predicate);
157 }
159 {
160  return counter->lpVtbl->GetDataSize(counter);
161 }
162 static INLINE void
164 {
165  class_instance->lpVtbl->GetClassLinkage(class_instance, linkage);
166 }
167 static INLINE void
168 D3D11GetInstanceName(D3D11ClassInstance class_instance, LPSTR instance_name, SIZE_T* buffer_length)
169 {
170  class_instance->lpVtbl->GetInstanceName(class_instance, instance_name, buffer_length);
171 }
172 static INLINE void
173 D3D11GetTypeName(D3D11ClassInstance class_instance, LPSTR type_name, SIZE_T* buffer_length)
174 {
175  class_instance->lpVtbl->GetTypeName(class_instance, type_name, buffer_length);
176 }
178  D3D11ClassLinkage class_linkage,
179  LPCSTR class_instance_name,
180  UINT instance_index,
181  D3D11ClassInstance* instance)
182 {
183  return class_linkage->lpVtbl->GetClassInstance(
184  class_linkage, class_instance_name, instance_index, instance);
185 }
187  D3D11ClassLinkage class_linkage,
188  LPCSTR class_type_name,
189  UINT constant_buffer_offset,
190  UINT constant_vector_offset,
191  UINT texture_offset,
192  UINT sampler_offset,
193  D3D11ClassInstance* instance)
194 {
195  return class_linkage->lpVtbl->CreateClassInstance(
196  class_linkage, class_type_name, constant_buffer_offset, constant_vector_offset,
197  texture_offset, sampler_offset, instance);
198 }
200 {
201  return command_list->lpVtbl->GetContextFlags(command_list);
202 }
204  D3D11DeviceContext device_context,
205  UINT start_slot,
206  UINT num_buffers,
207  const D3D11Buffer* constant_buffers)
208 {
209  device_context->lpVtbl->VSSetConstantBuffers(
210  device_context, start_slot, num_buffers, constant_buffers);
211 }
213  D3D11DeviceContext device_context,
214  UINT start_slot,
215  UINT num_views,
216  ID3D11ShaderResourceView* const* shader_resource_views)
217 {
218  device_context->lpVtbl->PSSetShaderResources(
219  device_context, start_slot, num_views,
220  shader_resource_views);
221 }
223  D3D11DeviceContext device_context,
224  D3D11PixelShader pixel_shader,
225  D3D11ClassInstance* const class_instances,
226  UINT num_class_instances)
227 {
228  device_context->lpVtbl->PSSetShader(
229  device_context, pixel_shader, class_instances, num_class_instances);
230 }
232  D3D11DeviceContext device_context,
233  UINT start_slot,
234  UINT num_samplers,
236 {
237  device_context->lpVtbl->PSSetSamplers(
238  device_context, start_slot, num_samplers, samplers);
239 }
240 
242  D3D11DeviceContext device_context,
243  D3D11VertexShader vertex_shader,
244  D3D11ClassInstance* const class_instances,
245  UINT num_class_instances)
246 {
247  device_context->lpVtbl->VSSetShader(
248  device_context, vertex_shader, class_instances, num_class_instances);
249 }
251  D3D11DeviceContext device_context,
252  UINT index_count,
253  UINT start_index_location,
254  INT base_vertex_location)
255 {
256  device_context->lpVtbl->DrawIndexed(
257  device_context, index_count, start_index_location, base_vertex_location);
258 }
259 static INLINE void
260 D3D11Draw(D3D11DeviceContext device_context, UINT vertex_count, UINT start_vertex_location)
261 {
262  device_context->lpVtbl->Draw(device_context, vertex_count, start_vertex_location);
263 }
265  D3D11DeviceContext device_context,
266  D3D11Resource resource,
267  UINT subresource,
268  D3D11_MAP map_type,
269  UINT map_flags,
270  D3D11_MAPPED_SUBRESOURCE* mapped_resource)
271 {
272  return device_context->lpVtbl->Map(
273  device_context, resource, subresource, map_type, map_flags, mapped_resource);
274 }
275 static INLINE void
276 D3D11Unmap(D3D11DeviceContext device_context, D3D11Resource resource, UINT subresource)
277 {
278  device_context->lpVtbl->Unmap(device_context, resource, subresource);
279 }
281  D3D11DeviceContext device_context,
282  UINT start_slot,
283  UINT num_buffers,
284  const D3D11Buffer* constant_buffers)
285 {
286  device_context->lpVtbl->PSSetConstantBuffers(
287  device_context, start_slot, num_buffers, constant_buffers);
288 }
289 static INLINE void
291 {
292  device_context->lpVtbl->IASetInputLayout(device_context, input_layout);
293 }
295  D3D11DeviceContext device_context,
296  UINT start_slot,
297  UINT num_buffers,
298  const D3D11Buffer* vertex_buffers,
299  UINT* strides,
300  UINT* offsets)
301 {
302  device_context->lpVtbl->IASetVertexBuffers(
303  device_context, start_slot, num_buffers, vertex_buffers, strides, offsets);
304 }
306  D3D11DeviceContext device_context, D3D11Buffer index_buffer, DXGI_FORMAT format, UINT offset)
307 {
308  device_context->lpVtbl->IASetIndexBuffer(device_context, index_buffer, format, offset);
309 }
311  D3D11DeviceContext device_context,
312  UINT index_count_per_instance,
313  UINT instance_count,
314  UINT start_index_location,
315  INT base_vertex_location,
316  UINT start_instance_location)
317 {
318  device_context->lpVtbl->DrawIndexedInstanced(
319  device_context, index_count_per_instance, instance_count, start_index_location,
320  base_vertex_location, start_instance_location);
321 }
323  D3D11DeviceContext device_context,
324  UINT vertex_count_per_instance,
325  UINT instance_count,
326  UINT start_vertex_location,
327  UINT start_instance_location)
328 {
329  device_context->lpVtbl->DrawInstanced(
330  device_context, vertex_count_per_instance, instance_count, start_vertex_location,
331  start_instance_location);
332 }
334  D3D11DeviceContext device_context,
335  UINT start_slot,
336  UINT num_buffers,
337  D3D11Buffer* const constant_buffers)
338 {
339  device_context->lpVtbl->GSSetConstantBuffers(
340  device_context, start_slot, num_buffers, constant_buffers);
341 }
343  D3D11DeviceContext device_context,
345  D3D11ClassInstance* const class_instances,
346  UINT num_class_instances)
347 {
348  device_context->lpVtbl->GSSetShader(
349  device_context, shader, class_instances, num_class_instances);
350 }
351 static INLINE void
353 {
354  device_context->lpVtbl->IASetPrimitiveTopology(device_context, topology);
355 }
357  D3D11DeviceContext device_context,
358  UINT start_slot,
359  UINT num_views,
360  D3D11ShaderResourceView* const shader_resource_views)
361 {
362  device_context->lpVtbl->VSSetShaderResources(
363  device_context, start_slot, num_views, shader_resource_views);
364 }
366  D3D11DeviceContext device_context,
367  UINT start_slot,
368  UINT num_samplers,
370 {
371  device_context->lpVtbl->VSSetSamplers(device_context, start_slot, num_samplers, samplers);
372 }
373 static INLINE void D3D11Begin(D3D11DeviceContext device_context, D3D11Asynchronous async)
374 {
375  device_context->lpVtbl->Begin(device_context, async);
376 }
377 static INLINE void D3D11End(D3D11DeviceContext device_context, D3D11Asynchronous async)
378 {
379  device_context->lpVtbl->End(device_context, async);
380 }
382  D3D11DeviceContext device_context,
383  D3D11Asynchronous async,
384  void* data,
385  UINT data_size,
386  UINT get_data_flags)
387 {
388  return device_context->lpVtbl->GetData(device_context, async, data, data_size, get_data_flags);
389 }
391  D3D11DeviceContext device_context, D3D11Predicate predicate, BOOL predicate_value)
392 {
393  device_context->lpVtbl->SetPredication(device_context, predicate, predicate_value);
394 }
396  D3D11DeviceContext device_context,
397  UINT start_slot,
398  UINT num_views,
399  D3D11ShaderResourceView* const shader_resource_views)
400 {
401  device_context->lpVtbl->GSSetShaderResources(
402  device_context, start_slot, num_views, shader_resource_views);
403 }
405  D3D11DeviceContext device_context,
406  UINT start_slot,
407  UINT num_samplers,
409 {
410  device_context->lpVtbl->GSSetSamplers(device_context, start_slot, num_samplers, samplers);
411 }
413  D3D11DeviceContext device_context,
414  UINT num_views,
415  D3D11RenderTargetView* const render_target_views,
416  D3D11DepthStencilView depth_stencil_view)
417 {
418  device_context->lpVtbl->OMSetRenderTargets(
419  device_context, num_views, render_target_views, depth_stencil_view);
420 }
422  D3D11DeviceContext device_context,
423  UINT num_rtvs,
424  D3D11RenderTargetView* const render_target_views,
425  D3D11DepthStencilView depth_stencil_view,
426  UINT uavstart_slot,
427  UINT num_uavs,
428  D3D11UnorderedAccessView* const unordered_access_views,
429  UINT* uavinitial_counts)
430 {
431  device_context->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(
432  device_context, num_rtvs, render_target_views, depth_stencil_view, uavstart_slot, num_uavs,
433  unordered_access_views, uavinitial_counts);
434 }
436  D3D11DeviceContext device_context,
437  D3D11BlendState blend_state,
438  FLOAT blend_factor[4],
439  UINT sample_mask)
440 {
441  device_context->lpVtbl->OMSetBlendState(device_context, blend_state, blend_factor, sample_mask);
442 }
444  D3D11DeviceContext device_context,
445  D3D11DepthStencilState depth_stencil_state,
446  UINT stencil_ref)
447 {
448  device_context->lpVtbl->OMSetDepthStencilState(device_context, depth_stencil_state, stencil_ref);
449 }
451  D3D11DeviceContext device_context,
452  UINT num_buffers,
453  D3D11Buffer* const sotargets,
454  UINT* offsets)
455 {
456  device_context->lpVtbl->SOSetTargets(device_context, num_buffers, sotargets, offsets);
457 }
458 static INLINE void D3D11DrawAuto(D3D11DeviceContext device_context)
459 {
460  device_context->lpVtbl->DrawAuto(device_context);
461 }
463  D3D11DeviceContext device_context,
464  D3D11Buffer buffer_for_args,
465  UINT aligned_byte_offset_for_args)
466 {
467  device_context->lpVtbl->DrawIndexedInstancedIndirect(
468  device_context, buffer_for_args, aligned_byte_offset_for_args);
469 }
471  D3D11DeviceContext device_context,
472  D3D11Buffer buffer_for_args,
473  UINT aligned_byte_offset_for_args)
474 {
475  device_context->lpVtbl->DrawInstancedIndirect(
476  device_context, buffer_for_args, aligned_byte_offset_for_args);
477 }
478 static INLINE void D3D11Dispatch(
479  D3D11DeviceContext device_context,
480  UINT thread_group_count_x,
481  UINT thread_group_count_y,
482  UINT thread_group_count_z)
483 {
484  device_context->lpVtbl->Dispatch(
485  device_context, thread_group_count_x, thread_group_count_y, thread_group_count_z);
486 }
488  D3D11DeviceContext device_context,
489  D3D11Buffer buffer_for_args,
490  UINT aligned_byte_offset_for_args)
491 {
492  device_context->lpVtbl->DispatchIndirect(
493  device_context, buffer_for_args, aligned_byte_offset_for_args);
494 }
495 static INLINE void
496 D3D11SetState(D3D11DeviceContext device_context, D3D11RasterizerState rasterizer_state)
497 {
498  device_context->lpVtbl->RSSetState(device_context, rasterizer_state);
499 }
500 static INLINE void
501 D3D11SetViewports(D3D11DeviceContext device_context, UINT num_viewports, D3D11_VIEWPORT* viewports)
502 {
503  device_context->lpVtbl->RSSetViewports(device_context, num_viewports, viewports);
504 }
505 static INLINE void
506 D3D11SetScissorRects(D3D11DeviceContext device_context, UINT num_rects, D3D11_RECT* rects)
507 {
508  device_context->lpVtbl->RSSetScissorRects(device_context, num_rects, rects);
509 }
511  D3D11DeviceContext device_context,
512  D3D11Resource dst_resource,
513  UINT dst_subresource,
514  UINT dst_x,
515  UINT dst_y,
516  UINT dst_z,
517  D3D11Resource src_resource,
518  UINT src_subresource,
519  D3D11_BOX* src_box)
520 {
521  device_context->lpVtbl->CopySubresourceRegion(
522  device_context, dst_resource, dst_subresource, dst_x, dst_y, dst_z, src_resource,
523  src_subresource, src_box);
524 }
526  D3D11DeviceContext device_context, D3D11Resource dst_resource, D3D11Resource src_resource)
527 {
528  device_context->lpVtbl->CopyResource(device_context, dst_resource, src_resource);
529 }
531  D3D11DeviceContext device_context,
532  D3D11Resource dst_resource,
533  UINT dst_subresource,
534  D3D11_BOX* dst_box,
535  void* src_data,
536  UINT src_row_pitch,
537  UINT src_depth_pitch)
538 {
539  device_context->lpVtbl->UpdateSubresource(
540  device_context, dst_resource, dst_subresource, dst_box, src_data, src_row_pitch,
541  src_depth_pitch);
542 }
544  D3D11DeviceContext device_context,
545  D3D11Buffer dst_buffer,
546  UINT dst_aligned_byte_offset,
547  D3D11UnorderedAccessView src_view)
548 {
549  device_context->lpVtbl->CopyStructureCount(
550  device_context, dst_buffer, dst_aligned_byte_offset, src_view);
551 }
553  D3D11DeviceContext device_context,
554  D3D11RenderTargetView render_target_view,
555  FLOAT color_rgba[4])
556 {
557  device_context->lpVtbl->ClearRenderTargetView(device_context, render_target_view, color_rgba);
558 }
560  D3D11DeviceContext device_context,
561  D3D11UnorderedAccessView unordered_access_view,
562  UINT values[4])
563 {
564  device_context->lpVtbl->ClearUnorderedAccessViewUint(
565  device_context, unordered_access_view, values);
566 }
568  D3D11DeviceContext device_context,
569  D3D11UnorderedAccessView unordered_access_view,
570  FLOAT values[4])
571 {
572  device_context->lpVtbl->ClearUnorderedAccessViewFloat(
573  device_context, unordered_access_view, values);
574 }
576  D3D11DeviceContext device_context,
577  D3D11DepthStencilView depth_stencil_view,
578  UINT clear_flags,
579  FLOAT depth,
580  UINT8 stencil)
581 {
582  device_context->lpVtbl->ClearDepthStencilView(
583  device_context, depth_stencil_view, clear_flags, depth, stencil);
584 }
585 static INLINE void
586 D3D11GenerateMips(D3D11DeviceContext device_context, D3D11ShaderResourceView shader_resource_view)
587 {
588  device_context->lpVtbl->GenerateMips(device_context, shader_resource_view);
589 }
590 static INLINE void
592 {
593  device_context->lpVtbl->SetResourceMinLOD(device_context, resource, min_lod);
594 }
595 static INLINE FLOAT
597 {
598  return device_context->lpVtbl->GetResourceMinLOD(device_context, resource);
599 }
601  D3D11DeviceContext device_context,
602  D3D11Resource dst_resource,
603  UINT dst_subresource,
604  D3D11Resource src_resource,
605  UINT src_subresource,
607 {
608  device_context->lpVtbl->ResolveSubresource(
609  device_context, dst_resource, dst_subresource, src_resource, src_subresource, format);
610 }
612  D3D11DeviceContext device_context, D3D11CommandList command_list, BOOL restore_context_state)
613 {
614  device_context->lpVtbl->ExecuteCommandList(device_context, command_list, restore_context_state);
615 }
617  D3D11DeviceContext device_context,
618  UINT start_slot,
619  UINT num_views,
620  D3D11ShaderResourceView* const shader_resource_views)
621 {
622  device_context->lpVtbl->HSSetShaderResources(
623  device_context, start_slot, num_views, shader_resource_views);
624 }
626  D3D11DeviceContext device_context,
627  D3D11HullShader hull_shader,
628  D3D11ClassInstance* const class_instances,
629  UINT num_class_instances)
630 {
631  device_context->lpVtbl->HSSetShader(
632  device_context, hull_shader, class_instances, num_class_instances);
633 }
635  D3D11DeviceContext device_context,
636  UINT start_slot,
637  UINT num_samplers,
639 {
640  device_context->lpVtbl->HSSetSamplers(device_context, start_slot, num_samplers, samplers);
641 }
643  D3D11DeviceContext device_context,
644  UINT start_slot,
645  UINT num_buffers,
646  D3D11Buffer* const constant_buffers)
647 {
648  device_context->lpVtbl->HSSetConstantBuffers(
649  device_context, start_slot, num_buffers, constant_buffers);
650 }
652  D3D11DeviceContext device_context,
653  UINT start_slot,
654  UINT num_views,
655  D3D11ShaderResourceView* const shader_resource_views)
656 {
657  device_context->lpVtbl->DSSetShaderResources(
658  device_context, start_slot, num_views, shader_resource_views);
659 }
661  D3D11DeviceContext device_context,
662  D3D11DomainShader domain_shader,
663  D3D11ClassInstance* const class_instances,
664  UINT num_class_instances)
665 {
666  device_context->lpVtbl->DSSetShader(
667  device_context, domain_shader, class_instances, num_class_instances);
668 }
670  D3D11DeviceContext device_context,
671  UINT start_slot,
672  UINT num_samplers,
674 {
675  device_context->lpVtbl->DSSetSamplers(device_context, start_slot, num_samplers, samplers);
676 }
678  D3D11DeviceContext device_context,
679  UINT start_slot,
680  UINT num_buffers,
681  D3D11Buffer* const constant_buffers)
682 {
683  device_context->lpVtbl->DSSetConstantBuffers(
684  device_context, start_slot, num_buffers, constant_buffers);
685 }
687  D3D11DeviceContext device_context,
688  UINT start_slot,
689  UINT num_views,
690  D3D11ShaderResourceView* const shader_resource_views)
691 {
692  device_context->lpVtbl->CSSetShaderResources(
693  device_context, start_slot, num_views, shader_resource_views);
694 }
696  D3D11DeviceContext device_context,
697  UINT start_slot,
698  UINT num_uavs,
699  D3D11UnorderedAccessView* const unordered_access_views,
700  UINT* uavinitial_counts)
701 {
702  device_context->lpVtbl->CSSetUnorderedAccessViews(
703  device_context, start_slot, num_uavs, unordered_access_views, uavinitial_counts);
704 }
706  D3D11DeviceContext device_context,
707  D3D11ComputeShader compute_shader,
708  D3D11ClassInstance* const class_instances,
709  UINT num_class_instances)
710 {
711  device_context->lpVtbl->CSSetShader(
712  device_context, compute_shader, class_instances, num_class_instances);
713 }
715  D3D11DeviceContext device_context,
716  UINT start_slot,
717  UINT num_samplers,
719 {
720  device_context->lpVtbl->CSSetSamplers(device_context, start_slot, num_samplers, samplers);
721 }
723  D3D11DeviceContext device_context,
724  UINT start_slot,
725  UINT num_buffers,
726  D3D11Buffer* const constant_buffers)
727 {
728  device_context->lpVtbl->CSSetConstantBuffers(
729  device_context, start_slot, num_buffers, constant_buffers);
730 }
732  D3D11DeviceContext device_context,
733  UINT start_slot,
734  UINT num_buffers,
735  D3D11Buffer* constant_buffers)
736 {
737  device_context->lpVtbl->VSGetConstantBuffers(
738  device_context, start_slot, num_buffers, constant_buffers);
739 }
741  D3D11DeviceContext device_context,
742  UINT start_slot,
743  UINT num_views,
744  D3D11ShaderResourceView* shader_resource_views)
745 {
746  device_context->lpVtbl->PSGetShaderResources(
747  device_context, start_slot, num_views, shader_resource_views);
748 }
750  D3D11DeviceContext device_context,
751  D3D11PixelShader* pixel_shader,
752  D3D11ClassInstance* class_instances,
753  UINT* num_class_instances)
754 {
755  device_context->lpVtbl->PSGetShader(
756  device_context, pixel_shader, class_instances, num_class_instances);
757 }
759  D3D11DeviceContext device_context,
760  UINT start_slot,
761  UINT num_samplers,
763 {
764  device_context->lpVtbl->PSGetSamplers(device_context, start_slot, num_samplers, samplers);
765 }
767  D3D11DeviceContext device_context,
768  D3D11VertexShader* vertex_shader,
769  D3D11ClassInstance* class_instances,
770  UINT* num_class_instances)
771 {
772  device_context->lpVtbl->VSGetShader(
773  device_context, vertex_shader, class_instances, num_class_instances);
774 }
776  D3D11DeviceContext device_context,
777  UINT start_slot,
778  UINT num_buffers,
779  D3D11Buffer* constant_buffers)
780 {
781  device_context->lpVtbl->PSGetConstantBuffers(
782  device_context, start_slot, num_buffers, constant_buffers);
783 }
784 static INLINE void
786 {
787  device_context->lpVtbl->IAGetInputLayout(device_context, input_layout);
788 }
790  D3D11DeviceContext device_context,
791  UINT start_slot,
792  UINT num_buffers,
793  D3D11Buffer* vertex_buffers,
794  UINT* strides,
795  UINT* offsets)
796 {
797  device_context->lpVtbl->IAGetVertexBuffers(
798  device_context, start_slot, num_buffers, vertex_buffers, strides, offsets);
799 }
801  D3D11DeviceContext device_context,
802  D3D11Buffer* index_buffer,
804  UINT* offset)
805 {
806  device_context->lpVtbl->IAGetIndexBuffer(device_context, index_buffer, format, offset);
807 }
809  D3D11DeviceContext device_context,
810  UINT start_slot,
811  UINT num_buffers,
812  D3D11Buffer* constant_buffers)
813 {
814  device_context->lpVtbl->GSGetConstantBuffers(
815  device_context, start_slot, num_buffers, constant_buffers);
816 }
818  D3D11DeviceContext device_context,
819  D3D11GeometryShader* geometry_shader,
820  D3D11ClassInstance* class_instances,
821  UINT* num_class_instances)
822 {
823  device_context->lpVtbl->GSGetShader(
824  device_context, geometry_shader, class_instances, num_class_instances);
825 }
826 static INLINE void
828 {
829  device_context->lpVtbl->IAGetPrimitiveTopology(device_context, topology);
830 }
832  D3D11DeviceContext device_context,
833  UINT start_slot,
834  UINT num_views,
835  D3D11ShaderResourceView* shader_resource_views)
836 {
837  device_context->lpVtbl->VSGetShaderResources(
838  device_context, start_slot, num_views, shader_resource_views);
839 }
841  D3D11DeviceContext device_context,
842  UINT start_slot,
843  UINT num_samplers,
845 {
846  device_context->lpVtbl->VSGetSamplers(device_context, start_slot, num_samplers, samplers);
847 }
849  D3D11DeviceContext device_context, D3D11Predicate* predicate, BOOL* predicate_value)
850 {
851  device_context->lpVtbl->GetPredication(device_context, predicate, predicate_value);
852 }
854  D3D11DeviceContext device_context,
855  UINT start_slot,
856  UINT num_views,
857  D3D11ShaderResourceView* shader_resource_views)
858 {
859  device_context->lpVtbl->GSGetShaderResources(
860  device_context, start_slot, num_views, shader_resource_views);
861 }
863  D3D11DeviceContext device_context,
864  UINT start_slot,
865  UINT num_samplers,
867 {
868  device_context->lpVtbl->GSGetSamplers(device_context, start_slot, num_samplers, samplers);
869 }
871  D3D11DeviceContext device_context,
872  UINT num_views,
873  D3D11RenderTargetView* render_target_views,
874  D3D11DepthStencilView* depth_stencil_view)
875 {
876  device_context->lpVtbl->OMGetRenderTargets(
877  device_context, num_views, render_target_views, depth_stencil_view);
878 }
880  D3D11DeviceContext device_context,
881  UINT num_rtvs,
882  D3D11RenderTargetView* render_target_views,
883  D3D11DepthStencilView* depth_stencil_view,
884  UINT uavstart_slot,
885  UINT num_uavs,
886  D3D11UnorderedAccessView* unordered_access_views)
887 {
888  device_context->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(
889  device_context, num_rtvs, render_target_views, depth_stencil_view, uavstart_slot, num_uavs,
890  unordered_access_views);
891 }
893  D3D11DeviceContext device_context,
894  D3D11BlendState* blend_state,
895  FLOAT blend_factor[4],
896  UINT* sample_mask)
897 {
898  device_context->lpVtbl->OMGetBlendState(device_context, blend_state, blend_factor, sample_mask);
899 }
901  D3D11DeviceContext device_context,
902  D3D11DepthStencilState* depth_stencil_state,
903  UINT* stencil_ref)
904 {
905  device_context->lpVtbl->OMGetDepthStencilState(device_context, depth_stencil_state, stencil_ref);
906 }
907 static INLINE void
908 D3D11SOGetTargets(D3D11DeviceContext device_context, UINT num_buffers, D3D11Buffer* sotargets)
909 {
910  device_context->lpVtbl->SOGetTargets(device_context, num_buffers, sotargets);
911 }
912 static INLINE void
913 D3D11GetState(D3D11DeviceContext device_context, D3D11RasterizerState* rasterizer_state)
914 {
915  device_context->lpVtbl->RSGetState(device_context, rasterizer_state);
916 }
917 static INLINE void
918 D3D11GetViewports(D3D11DeviceContext device_context, UINT* num_viewports, D3D11_VIEWPORT* viewports)
919 {
920  device_context->lpVtbl->RSGetViewports(device_context, num_viewports, viewports);
921 }
922 static INLINE void
923 D3D11GetScissorRects(D3D11DeviceContext device_context, UINT* num_rects, D3D11_RECT* rects)
924 {
925  device_context->lpVtbl->RSGetScissorRects(device_context, num_rects, rects);
926 }
928  D3D11DeviceContext device_context,
929  UINT start_slot,
930  UINT num_views,
931  D3D11ShaderResourceView* shader_resource_views)
932 {
933  device_context->lpVtbl->HSGetShaderResources(
934  device_context, start_slot, num_views, shader_resource_views);
935 }
937  D3D11DeviceContext device_context,
938  D3D11HullShader* hull_shader,
939  D3D11ClassInstance* class_instances,
940  UINT* num_class_instances)
941 {
942  device_context->lpVtbl->HSGetShader(
943  device_context, hull_shader, class_instances, num_class_instances);
944 }
946  D3D11DeviceContext device_context,
947  UINT start_slot,
948  UINT num_samplers,
950 {
951  device_context->lpVtbl->HSGetSamplers(device_context, start_slot, num_samplers, samplers);
952 }
954  D3D11DeviceContext device_context,
955  UINT start_slot,
956  UINT num_buffers,
957  D3D11Buffer* constant_buffers)
958 {
959  device_context->lpVtbl->HSGetConstantBuffers(
960  device_context, start_slot, num_buffers, constant_buffers);
961 }
963  D3D11DeviceContext device_context,
964  UINT start_slot,
965  UINT num_views,
966  D3D11ShaderResourceView* shader_resource_views)
967 {
968  device_context->lpVtbl->DSGetShaderResources(
969  device_context, start_slot, num_views, shader_resource_views);
970 }
972  D3D11DeviceContext device_context,
973  D3D11DomainShader* domain_shader,
974  D3D11ClassInstance* class_instances,
975  UINT* num_class_instances)
976 {
977  device_context->lpVtbl->DSGetShader(
978  device_context, domain_shader, class_instances, num_class_instances);
979 }
981  D3D11DeviceContext device_context,
982  UINT start_slot,
983  UINT num_samplers,
985 {
986  device_context->lpVtbl->DSGetSamplers(device_context, start_slot, num_samplers, samplers);
987 }
989  D3D11DeviceContext device_context,
990  UINT start_slot,
991  UINT num_buffers,
992  D3D11Buffer* constant_buffers)
993 {
994  device_context->lpVtbl->DSGetConstantBuffers(
995  device_context, start_slot, num_buffers, constant_buffers);
996 }
998  D3D11DeviceContext device_context,
999  UINT start_slot,
1000  UINT num_views,
1001  D3D11ShaderResourceView* shader_resource_views)
1002 {
1003  device_context->lpVtbl->CSGetShaderResources(
1004  device_context, start_slot, num_views, shader_resource_views);
1005 }
1007  D3D11DeviceContext device_context,
1008  UINT start_slot,
1009  UINT num_uavs,
1010  D3D11UnorderedAccessView* unordered_access_views)
1011 {
1012  device_context->lpVtbl->CSGetUnorderedAccessViews(
1013  device_context, start_slot, num_uavs, unordered_access_views);
1014 }
1016  D3D11DeviceContext device_context,
1017  D3D11ComputeShader* compute_shader,
1018  D3D11ClassInstance* class_instances,
1019  UINT* num_class_instances)
1020 {
1021  device_context->lpVtbl->CSGetShader(
1022  device_context, compute_shader, class_instances, num_class_instances);
1023 }
1025  D3D11DeviceContext device_context,
1026  UINT start_slot,
1027  UINT num_samplers,
1029 {
1030  device_context->lpVtbl->CSGetSamplers(device_context, start_slot, num_samplers, samplers);
1031 }
1033  D3D11DeviceContext device_context,
1034  UINT start_slot,
1035  UINT num_buffers,
1036  D3D11Buffer* constant_buffers)
1037 {
1038  device_context->lpVtbl->CSGetConstantBuffers(
1039  device_context, start_slot, num_buffers, constant_buffers);
1040 }
1041 static INLINE void D3D11ClearState(D3D11DeviceContext device_context)
1042 {
1043  device_context->lpVtbl->ClearState(device_context);
1044 }
1045 static INLINE void D3D11Flush(D3D11DeviceContext device_context)
1046 {
1047  device_context->lpVtbl->Flush(device_context);
1048 }
1050 {
1051  return device_context->lpVtbl->GetContextFlags(device_context);
1052 }
1054  D3D11DeviceContext device_context,
1055  BOOL restore_deferred_context_state,
1056  D3D11CommandList* command_list)
1057 {
1058  return device_context->lpVtbl->FinishCommandList(
1059  device_context, restore_deferred_context_state, command_list);
1060 }
1062  D3D11VideoDecoder video_decoder,
1063  D3D11_VIDEO_DECODER_DESC* video_desc,
1065 {
1066  return video_decoder->lpVtbl->GetCreationParameters(video_decoder, video_desc, config);
1067 }
1068 static INLINE HRESULT D3D11GetDriverHandle(D3D11VideoDecoder video_decoder, HANDLE* driver_handle)
1069 {
1070  return video_decoder->lpVtbl->GetDriverHandle(video_decoder, driver_handle);
1071 }
1073  D3D11VideoProcessorEnumerator video_processor_enumerator,
1074  D3D11_VIDEO_PROCESSOR_CONTENT_DESC* content_desc)
1075 {
1076  return video_processor_enumerator->lpVtbl->GetVideoProcessorContentDesc(
1077  video_processor_enumerator, content_desc);
1078 }
1080  D3D11VideoProcessorEnumerator video_processor_enumerator, DXGI_FORMAT format, UINT* flags)
1081 {
1082  return video_processor_enumerator->lpVtbl->CheckVideoProcessorFormat(
1083  video_processor_enumerator, format, flags);
1084 }
1086  D3D11VideoProcessorEnumerator video_processor_enumerator, D3D11_VIDEO_PROCESSOR_CAPS* caps)
1087 {
1088  return video_processor_enumerator->lpVtbl->GetVideoProcessorCaps(
1089  video_processor_enumerator, caps);
1090 }
1092  D3D11VideoProcessorEnumerator video_processor_enumerator,
1093  UINT type_index,
1095 {
1096  return video_processor_enumerator->lpVtbl->GetVideoProcessorRateConversionCaps(
1097  video_processor_enumerator, type_index, caps);
1098 }
1100  D3D11VideoProcessorEnumerator video_processor_enumerator,
1101  UINT type_index,
1102  UINT custom_rate_index,
1104 {
1105  return video_processor_enumerator->lpVtbl->GetVideoProcessorCustomRate(
1106  video_processor_enumerator, type_index, custom_rate_index, rate);
1107 }
1109  D3D11VideoProcessorEnumerator video_processor_enumerator,
1112 {
1113  return video_processor_enumerator->lpVtbl->GetVideoProcessorFilterRange(
1114  video_processor_enumerator, filter, range);
1115 }
1116 static INLINE void
1118 {
1119  video_processor->lpVtbl->GetContentDesc(video_processor, desc);
1120 }
1123 {
1124  video_processor->lpVtbl->GetRateConversionCaps(video_processor, caps);
1125 }
1127  D3D11AuthenticatedChannel authenticated_channel, UINT* certificate_size)
1128 {
1129  return authenticated_channel->lpVtbl->GetCertificateSize(
1130  authenticated_channel, certificate_size);
1131 }
1133  D3D11AuthenticatedChannel authenticated_channel, UINT certificate_size, BYTE* certificate)
1134 {
1135  return authenticated_channel->lpVtbl->GetCertificate(
1136  authenticated_channel, certificate_size, certificate);
1137 }
1138 static INLINE void
1139 D3D11GetChannelHandle(D3D11AuthenticatedChannel authenticated_channel, HANDLE* channel_handle)
1140 {
1141  authenticated_channel->lpVtbl->GetChannelHandle(authenticated_channel, channel_handle);
1142 }
1143 static INLINE void D3D11GetCryptoType(D3D11CryptoSession crypto_session, GUID* crypto_type)
1144 {
1145  crypto_session->lpVtbl->GetCryptoType(crypto_session, crypto_type);
1146 }
1147 static INLINE void D3D11GetDecoderProfile(D3D11CryptoSession crypto_session, GUID* decoder_profile)
1148 {
1149  crypto_session->lpVtbl->GetDecoderProfile(crypto_session, decoder_profile);
1150 }
1151 static INLINE HRESULT
1153 {
1154  return crypto_session->lpVtbl->GetCertificateSize(crypto_session, certificate_size);
1155 }
1157  D3D11CryptoSession crypto_session, UINT certificate_size, BYTE* certificate)
1158 {
1159  return crypto_session->lpVtbl->GetCertificate(crypto_session, certificate_size, certificate);
1160 }
1161 static INLINE void
1162 D3D11GetCryptoSessionHandle(D3D11CryptoSession crypto_session, HANDLE* crypto_session_handle)
1163 {
1164  crypto_session->lpVtbl->GetCryptoSessionHandle(crypto_session, crypto_session_handle);
1165 }
1167  D3D11VideoDecoderOutputView video_decoder_output_view, D3D11Resource* resource)
1168 {
1169  video_decoder_output_view->lpVtbl->GetResource(video_decoder_output_view, resource);
1170 }
1172  D3D11VideoProcessorInputView video_processor_input_view, D3D11Resource* resource)
1173 {
1174  video_processor_input_view->lpVtbl->GetResource(video_processor_input_view, resource);
1175 }
1177  D3D11VideoProcessorOutputView video_processor_output_view, D3D11Resource* resource)
1178 {
1179  video_processor_output_view->lpVtbl->GetResource(video_processor_output_view, resource);
1180 }
1182  D3D11VideoContext video_context,
1183  D3D11VideoDecoder decoder,
1185  UINT* buffer_size,
1186  void** buffer)
1187 {
1188  return video_context->lpVtbl->GetDecoderBuffer(
1189  video_context, decoder, type, buffer_size, buffer);
1190 }
1192  D3D11VideoContext video_context,
1193  D3D11VideoDecoder decoder,
1195 {
1196  return video_context->lpVtbl->ReleaseDecoderBuffer(video_context, decoder, type);
1197 }
1199  D3D11VideoContext video_context,
1200  D3D11VideoDecoder decoder,
1202  UINT content_key_size,
1203  void* content_key)
1204 {
1205  return video_context->lpVtbl->DecoderBeginFrame(
1206  video_context, decoder, view, content_key_size, content_key);
1207 }
1208 static INLINE HRESULT
1210 {
1211  return video_context->lpVtbl->DecoderEndFrame(video_context, decoder);
1212 }
1214  D3D11VideoContext video_context,
1215  D3D11VideoDecoder decoder,
1216  UINT num_buffers,
1217  D3D11_VIDEO_DECODER_BUFFER_DESC* buffer_desc)
1218 {
1219  return video_context->lpVtbl->SubmitDecoderBuffers(
1220  video_context, decoder, num_buffers, buffer_desc);
1221 }
1223  D3D11VideoContext video_context,
1224  D3D11VideoDecoder decoder,
1225  D3D11_VIDEO_DECODER_EXTENSION* extension_data)
1226 {
1227  return video_context->lpVtbl->DecoderExtension(video_context, decoder, extension_data);
1228 }
1230  D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable, RECT* rect)
1231 {
1232  video_context->lpVtbl->VideoProcessorSetOutputTargetRect(
1233  video_context, video_processor, enable, rect);
1234 }
1236  D3D11VideoContext video_context,
1237  D3D11VideoProcessor video_processor,
1238  BOOL ycb_cr,
1240 {
1241  video_context->lpVtbl->VideoProcessorSetOutputBackgroundColor(
1242  video_context, video_processor, ycb_cr, color);
1243 }
1245  D3D11VideoContext video_context,
1246  D3D11VideoProcessor video_processor,
1248 {
1249  video_context->lpVtbl->VideoProcessorSetOutputColorSpace(
1250  video_context, video_processor, color_space);
1251 }
1253  D3D11VideoContext video_context,
1254  D3D11VideoProcessor video_processor,
1255  D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
1256  UINT stream_index)
1257 {
1258  video_context->lpVtbl->VideoProcessorSetOutputAlphaFillMode(
1259  video_context, video_processor, alpha_fill_mode, stream_index);
1260 }
1262  D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable, SIZE size)
1263 {
1264  video_context->lpVtbl->VideoProcessorSetOutputConstriction(
1265  video_context, video_processor, enable, size);
1266 }
1268  D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable)
1269 {
1270  video_context->lpVtbl->VideoProcessorSetOutputStereoMode(video_context, video_processor, enable);
1271 }
1273  D3D11VideoContext video_context,
1274  D3D11VideoProcessor video_processor,
1275  GUID* extension_guid,
1276  UINT data_size,
1277  void* data)
1278 {
1279  return video_context->lpVtbl->VideoProcessorSetOutputExtension(
1280  video_context, video_processor, extension_guid, data_size, data);
1281 }
1283  D3D11VideoContext video_context,
1284  D3D11VideoProcessor video_processor,
1285  BOOL* enabled,
1286  RECT* rect)
1287 {
1288  video_context->lpVtbl->VideoProcessorGetOutputTargetRect(
1289  video_context, video_processor, enabled, rect);
1290 }
1292  D3D11VideoContext video_context,
1293  D3D11VideoProcessor video_processor,
1294  BOOL* ycb_cr,
1296 {
1297  video_context->lpVtbl->VideoProcessorGetOutputBackgroundColor(
1298  video_context, video_processor, ycb_cr, color);
1299 }
1301  D3D11VideoContext video_context,
1302  D3D11VideoProcessor video_processor,
1304 {
1305  video_context->lpVtbl->VideoProcessorGetOutputColorSpace(
1306  video_context, video_processor, color_space);
1307 }
1309  D3D11VideoContext video_context,
1310  D3D11VideoProcessor video_processor,
1311  D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE* alpha_fill_mode,
1312  UINT* stream_index)
1313 {
1314  video_context->lpVtbl->VideoProcessorGetOutputAlphaFillMode(
1315  video_context, video_processor, alpha_fill_mode, stream_index);
1316 }
1318  D3D11VideoContext video_context,
1319  D3D11VideoProcessor video_processor,
1320  BOOL* enabled,
1321  SIZE* size)
1322 {
1323  video_context->lpVtbl->VideoProcessorGetOutputConstriction(
1324  video_context, video_processor, enabled, size);
1325 }
1327  D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL* enabled)
1328 {
1329  video_context->lpVtbl->VideoProcessorGetOutputStereoMode(
1330  video_context, video_processor, enabled);
1331 }
1333  D3D11VideoContext video_context,
1334  D3D11VideoProcessor video_processor,
1335  GUID* extension_guid,
1336  UINT data_size,
1337  void* data)
1338 {
1339  return video_context->lpVtbl->VideoProcessorGetOutputExtension(
1340  video_context, video_processor, extension_guid, data_size, data);
1341 }
1343  D3D11VideoContext video_context,
1344  D3D11VideoProcessor video_processor,
1345  UINT stream_index,
1346  D3D11_VIDEO_FRAME_FORMAT frame_format)
1347 {
1348  video_context->lpVtbl->VideoProcessorSetStreamFrameFormat(
1349  video_context, video_processor, stream_index, frame_format);
1350 }
1352  D3D11VideoContext video_context,
1353  D3D11VideoProcessor video_processor,
1354  UINT stream_index,
1356 {
1357  video_context->lpVtbl->VideoProcessorSetStreamColorSpace(
1358  video_context, video_processor, stream_index, color_space);
1359 }
1361  D3D11VideoContext video_context,
1362  D3D11VideoProcessor video_processor,
1363  UINT stream_index,
1365  BOOL repeat_frame,
1366  DXGI_RATIONAL* custom_rate)
1367 {
1368  video_context->lpVtbl->VideoProcessorSetStreamOutputRate(
1369  video_context, video_processor, stream_index, output_rate, repeat_frame, custom_rate);
1370 }
1372  D3D11VideoContext video_context,
1373  D3D11VideoProcessor video_processor,
1374  UINT stream_index,
1375  BOOL enable,
1376  RECT* rect)
1377 {
1378  video_context->lpVtbl->VideoProcessorSetStreamSourceRect(
1379  video_context, video_processor, stream_index, enable, rect);
1380 }
1382  D3D11VideoContext video_context,
1383  D3D11VideoProcessor video_processor,
1384  UINT stream_index,
1385  BOOL enable,
1386  RECT* rect)
1387 {
1388  video_context->lpVtbl->VideoProcessorSetStreamDestRect(
1389  video_context, video_processor, stream_index, enable, rect);
1390 }
1392  D3D11VideoContext video_context,
1393  D3D11VideoProcessor video_processor,
1394  UINT stream_index,
1395  BOOL enable,
1396  FLOAT alpha)
1397 {
1398  video_context->lpVtbl->VideoProcessorSetStreamAlpha(
1399  video_context, video_processor, stream_index, enable, alpha);
1400 }
1402  D3D11VideoContext video_context,
1403  D3D11VideoProcessor video_processor,
1404  UINT stream_index,
1405  UINT count,
1406  UINT* entries)
1407 {
1408  video_context->lpVtbl->VideoProcessorSetStreamPalette(
1409  video_context, video_processor, stream_index, count, entries);
1410 }
1412  D3D11VideoContext video_context,
1413  D3D11VideoProcessor video_processor,
1414  UINT stream_index,
1415  BOOL enable,
1416  DXGI_RATIONAL* source_aspect_ratio,
1417  DXGI_RATIONAL* destination_aspect_ratio)
1418 {
1419  video_context->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(
1420  video_context, video_processor, stream_index, enable, source_aspect_ratio,
1421  destination_aspect_ratio);
1422 }
1424  D3D11VideoContext video_context,
1425  D3D11VideoProcessor video_processor,
1426  UINT stream_index,
1427  BOOL enable,
1428  FLOAT lower,
1429  FLOAT upper)
1430 {
1431  video_context->lpVtbl->VideoProcessorSetStreamLumaKey(
1432  video_context, video_processor, stream_index, enable, lower, upper);
1433 }
1435  D3D11VideoContext video_context,
1436  D3D11VideoProcessor video_processor,
1437  UINT stream_index,
1438  BOOL enable,
1440  BOOL left_view_frame0,
1441  BOOL base_view_frame0,
1443  int mono_offset)
1444 {
1445  video_context->lpVtbl->VideoProcessorSetStreamStereoFormat(
1446  video_context, video_processor, stream_index, enable, format, left_view_frame0,
1447  base_view_frame0, flip_mode, mono_offset);
1448 }
1450  D3D11VideoContext video_context,
1451  D3D11VideoProcessor video_processor,
1452  UINT stream_index,
1453  BOOL enable)
1454 {
1455  video_context->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(
1456  video_context, video_processor, stream_index, enable);
1457 }
1459  D3D11VideoContext video_context,
1460  D3D11VideoProcessor video_processor,
1461  UINT stream_index,
1463  BOOL enable,
1464  int level)
1465 {
1466  video_context->lpVtbl->VideoProcessorSetStreamFilter(
1467  video_context, video_processor, stream_index, filter, enable, level);
1468 }
1470  D3D11VideoContext video_context,
1471  D3D11VideoProcessor video_processor,
1472  UINT stream_index,
1473  GUID* extension_guid,
1474  UINT data_size,
1475  void* data)
1476 {
1477  return video_context->lpVtbl->VideoProcessorSetStreamExtension(
1478  video_context, video_processor, stream_index, extension_guid, data_size, data);
1479 }
1481  D3D11VideoContext video_context,
1482  D3D11VideoProcessor video_processor,
1483  UINT stream_index,
1484  D3D11_VIDEO_FRAME_FORMAT* frame_format)
1485 {
1486  video_context->lpVtbl->VideoProcessorGetStreamFrameFormat(
1487  video_context, video_processor, stream_index, frame_format);
1488 }
1490  D3D11VideoContext video_context,
1491  D3D11VideoProcessor video_processor,
1492  UINT stream_index,
1494 {
1495  video_context->lpVtbl->VideoProcessorGetStreamColorSpace(
1496  video_context, video_processor, stream_index, color_space);
1497 }
1499  D3D11VideoContext video_context,
1500  D3D11VideoProcessor video_processor,
1501  UINT stream_index,
1502  D3D11_VIDEO_PROCESSOR_OUTPUT_RATE* output_rate,
1503  BOOL* repeat_frame,
1504  DXGI_RATIONAL* custom_rate)
1505 {
1506  video_context->lpVtbl->VideoProcessorGetStreamOutputRate(
1507  video_context, video_processor, stream_index, output_rate, repeat_frame, custom_rate);
1508 }
1510  D3D11VideoContext video_context,
1511  D3D11VideoProcessor video_processor,
1512  UINT stream_index,
1513  BOOL* enabled,
1514  RECT* rect)
1515 {
1516  video_context->lpVtbl->VideoProcessorGetStreamSourceRect(
1517  video_context, video_processor, stream_index, enabled, rect);
1518 }
1520  D3D11VideoContext video_context,
1521  D3D11VideoProcessor video_processor,
1522  UINT stream_index,
1523  BOOL* enabled,
1524  RECT* rect)
1525 {
1526  video_context->lpVtbl->VideoProcessorGetStreamDestRect(
1527  video_context, video_processor, stream_index, enabled, rect);
1528 }
1530  D3D11VideoContext video_context,
1531  D3D11VideoProcessor video_processor,
1532  UINT stream_index,
1533  BOOL* enabled,
1534  FLOAT* alpha)
1535 {
1536  video_context->lpVtbl->VideoProcessorGetStreamAlpha(
1537  video_context, video_processor, stream_index, enabled, alpha);
1538 }
1540  D3D11VideoContext video_context,
1541  D3D11VideoProcessor video_processor,
1542  UINT stream_index,
1543  UINT count,
1544  UINT* entries)
1545 {
1546  video_context->lpVtbl->VideoProcessorGetStreamPalette(
1547  video_context, video_processor, stream_index, count, entries);
1548 }
1550  D3D11VideoContext video_context,
1551  D3D11VideoProcessor video_processor,
1552  UINT stream_index,
1553  BOOL* enabled,
1554  DXGI_RATIONAL* source_aspect_ratio,
1555  DXGI_RATIONAL* destination_aspect_ratio)
1556 {
1557  video_context->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(
1558  video_context, video_processor, stream_index, enabled, source_aspect_ratio,
1559  destination_aspect_ratio);
1560 }
1562  D3D11VideoContext video_context,
1563  D3D11VideoProcessor video_processor,
1564  UINT stream_index,
1565  BOOL* enabled,
1566  FLOAT* lower,
1567  FLOAT* upper)
1568 {
1569  video_context->lpVtbl->VideoProcessorGetStreamLumaKey(
1570  video_context, video_processor, stream_index, enabled, lower, upper);
1571 }
1573  D3D11VideoContext video_context,
1574  D3D11VideoProcessor video_processor,
1575  UINT stream_index,
1576  BOOL* enable,
1578  BOOL* left_view_frame0,
1579  BOOL* base_view_frame0,
1581  int* mono_offset)
1582 {
1583  video_context->lpVtbl->VideoProcessorGetStreamStereoFormat(
1584  video_context, video_processor, stream_index, enable, format, left_view_frame0,
1585  base_view_frame0, flip_mode, mono_offset);
1586 }
1588  D3D11VideoContext video_context,
1589  D3D11VideoProcessor video_processor,
1590  UINT stream_index,
1591  BOOL* enabled)
1592 {
1593  video_context->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(
1594  video_context, video_processor, stream_index, enabled);
1595 }
1597  D3D11VideoContext video_context,
1598  D3D11VideoProcessor video_processor,
1599  UINT stream_index,
1601  BOOL* enabled,
1602  int* level)
1603 {
1604  video_context->lpVtbl->VideoProcessorGetStreamFilter(
1605  video_context, video_processor, stream_index, filter, enabled, level);
1606 }
1608  D3D11VideoContext video_context,
1609  D3D11VideoProcessor video_processor,
1610  UINT stream_index,
1611  GUID* extension_guid,
1612  UINT data_size,
1613  void* data)
1614 {
1615  return video_context->lpVtbl->VideoProcessorGetStreamExtension(
1616  video_context, video_processor, stream_index, extension_guid, data_size, data);
1617 }
1619  D3D11VideoContext video_context,
1620  D3D11VideoProcessor video_processor,
1622  UINT output_frame,
1623  UINT stream_count,
1625 {
1626  return video_context->lpVtbl->VideoProcessorBlt(
1627  video_context, video_processor, view, output_frame, stream_count, streams);
1628 }
1630  D3D11VideoContext video_context,
1631  D3D11CryptoSession crypto_session,
1632  UINT data_size,
1633  void* data)
1634 {
1635  return video_context->lpVtbl->NegotiateCryptoSessionKeyExchange(
1636  video_context, crypto_session, data_size, data);
1637 }
1639  D3D11VideoContext video_context,
1640  D3D11CryptoSession crypto_session,
1641  D3D11Texture2D src_surface,
1642  D3D11Texture2D dst_surface,
1643  UINT ivsize,
1644  void* iv)
1645 {
1646  video_context->lpVtbl->EncryptionBlt(
1647  video_context, crypto_session, src_surface, dst_surface, ivsize, iv);
1648 }
1650  D3D11VideoContext video_context,
1651  D3D11CryptoSession crypto_session,
1652  D3D11Texture2D src_surface,
1653  D3D11Texture2D dst_surface,
1654  D3D11_ENCRYPTED_BLOCK_INFO* encrypted_block_info,
1655  UINT content_key_size,
1656  void* content_key,
1657  UINT ivsize,
1658  void* iv)
1659 {
1660  video_context->lpVtbl->DecryptionBlt(
1661  video_context, crypto_session, src_surface, dst_surface, encrypted_block_info,
1662  content_key_size, content_key, ivsize, iv);
1663 }
1665  D3D11VideoContext video_context,
1666  D3D11CryptoSession crypto_session,
1667  UINT random_number_size,
1668  void* random_number)
1669 {
1670  video_context->lpVtbl->StartSessionKeyRefresh(
1671  video_context, crypto_session, random_number_size, random_number);
1672 }
1673 static INLINE void
1675 {
1676  video_context->lpVtbl->FinishSessionKeyRefresh(video_context, crypto_session);
1677 }
1679  D3D11VideoContext video_context,
1680  D3D11CryptoSession crypto_session,
1681  UINT key_size,
1682  void* readback_key)
1683 {
1684  return video_context->lpVtbl->GetEncryptionBltKey(
1685  video_context, crypto_session, key_size, readback_key);
1686 }
1688  D3D11VideoContext video_context,
1690  UINT data_size,
1691  void* data)
1692 {
1693  return video_context->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(
1694  video_context, channel, data_size, data);
1695 }
1697  D3D11VideoContext video_context,
1699  UINT input_size,
1700  void* input,
1701  UINT output_size,
1702  void* output)
1703 {
1704  return video_context->lpVtbl->QueryAuthenticatedChannel(
1705  video_context, channel, input_size, input, output_size, output);
1706 }
1708  D3D11VideoContext video_context,
1710  UINT input_size,
1711  void* input,
1713 {
1714  return video_context->lpVtbl->ConfigureAuthenticatedChannel(
1715  video_context, channel, input_size, input, output);
1716 }
1718  D3D11VideoContext video_context,
1719  D3D11VideoProcessor video_processor,
1720  UINT stream_index,
1721  BOOL enable,
1723 {
1724  video_context->lpVtbl->VideoProcessorSetStreamRotation(
1725  video_context, video_processor, stream_index, enable, rotation);
1726 }
1728  D3D11VideoContext video_context,
1729  D3D11VideoProcessor video_processor,
1730  UINT stream_index,
1731  BOOL* enable,
1733 {
1734  video_context->lpVtbl->VideoProcessorGetStreamRotation(
1735  video_context, video_processor, stream_index, enable, rotation);
1736 }
1739  D3D11_VIDEO_DECODER_DESC* video_desc,
1741  D3D11VideoDecoder* decoder)
1742 {
1743  return video_device->lpVtbl->CreateVideoDecoder(video_device, video_desc, config, decoder);
1744 }
1747  D3D11VideoProcessorEnumerator enumerator,
1748  UINT rate_conversion_index,
1749  D3D11VideoProcessor* video_processor)
1750 {
1751  return video_device->lpVtbl->CreateVideoProcessor(
1752  video_device, enumerator, rate_conversion_index, video_processor);
1753 }
1756  D3D11_AUTHENTICATED_CHANNEL_TYPE channel_type,
1757  D3D11AuthenticatedChannel* authenticated_channel)
1758 {
1759  return video_device->lpVtbl->CreateAuthenticatedChannel(
1760  video_device, channel_type, authenticated_channel);
1761 }
1764  GUID* crypto_type,
1765  GUID* decoder_profile,
1766  GUID* key_exchange_type,
1767  D3D11CryptoSession* crypto_session)
1768 {
1769  return video_device->lpVtbl->CreateCryptoSession(
1770  video_device, crypto_type, decoder_profile, key_exchange_type, crypto_session);
1771 }
1774  D3D11Resource resource,
1776  D3D11VideoDecoderOutputView* vdovview)
1777 {
1778  return video_device->lpVtbl->CreateVideoDecoderOutputView(
1779  video_device, resource, desc, vdovview);
1780 }
1783  D3D11Resource resource,
1784  D3D11VideoProcessorEnumerator enumerator,
1787 {
1788  return video_device->lpVtbl->CreateVideoProcessorInputView(
1789  video_device, resource, enumerator, desc, vpiview);
1790 }
1793  D3D11Resource resource,
1794  D3D11VideoProcessorEnumerator enumerator,
1797 {
1798  return video_device->lpVtbl->CreateVideoProcessorOutputView(
1799  video_device, resource, enumerator, desc, vpoview);
1800 }
1804  D3D11VideoProcessorEnumerator* enumerator)
1805 {
1806  return video_device->lpVtbl->CreateVideoProcessorEnumerator(video_device, desc, enumerator);
1807 }
1809 {
1810  return video_device->lpVtbl->GetVideoDecoderProfileCount(video_device);
1811 }
1812 static INLINE HRESULT
1814 {
1815  return video_device->lpVtbl->GetVideoDecoderProfile(video_device, index, decoder_profile);
1816 }
1818  D3D11VideoDevice video_device, GUID* decoder_profile, DXGI_FORMAT format, BOOL* supported)
1819 {
1820  return video_device->lpVtbl->CheckVideoDecoderFormat(
1821  video_device, decoder_profile, format, supported);
1822 }
1825 {
1826  return video_device->lpVtbl->GetVideoDecoderConfigCount(video_device, desc, count);
1827 }
1831  UINT index,
1833 {
1834  return video_device->lpVtbl->GetVideoDecoderConfig(video_device, desc, index, config);
1835 }
1838  GUID* crypto_type,
1839  GUID* decoder_profile,
1841 {
1842  return video_device->lpVtbl->GetContentProtectionCaps(
1843  video_device, crypto_type, decoder_profile, caps);
1844 }
1847  GUID* crypto_type,
1848  GUID* decoder_profile,
1849  UINT index,
1850  GUID* key_exchange_type)
1851 {
1852  return video_device->lpVtbl->CheckCryptoKeyExchange(
1853  video_device, crypto_type, decoder_profile, index, key_exchange_type);
1854 }
1857  D3D11_BUFFER_DESC* desc,
1858  D3D11_SUBRESOURCE_DATA* initial_data,
1860 {
1861  return device->lpVtbl->CreateBuffer(device, desc, initial_data, buffer);
1862 }
1865  D3D11_TEXTURE1D_DESC* desc,
1866  D3D11_SUBRESOURCE_DATA* initial_data,
1867  D3D11Texture1D* texture1d)
1868 {
1869  return device->lpVtbl->CreateTexture1D(device, desc, initial_data, texture1d);
1870 }
1873  D3D11_TEXTURE2D_DESC* desc,
1874  D3D11_SUBRESOURCE_DATA* initial_data,
1875  D3D11Texture2D* texture2d)
1876 {
1877  return device->lpVtbl->CreateTexture2D(device, desc, initial_data, texture2d);
1878 }
1881  D3D11_TEXTURE3D_DESC* desc,
1882  D3D11_SUBRESOURCE_DATA* initial_data,
1883  D3D11Texture3D* texture3d)
1884 {
1885  return device->lpVtbl->CreateTexture3D(device, desc, initial_data, texture3d);
1886 }
1889  D3D11Resource resource,
1891  D3D11ShaderResourceView* srview)
1892 {
1893  return device->lpVtbl->CreateShaderResourceView(device, resource, desc, srview);
1894 }
1897  D3D11Resource resource,
1899  D3D11UnorderedAccessView* uaview)
1900 {
1901  return device->lpVtbl->CreateUnorderedAccessView(device, resource, desc, uaview);
1902 }
1905  D3D11Resource resource,
1907  D3D11RenderTargetView* rtview)
1908 {
1909  return device->lpVtbl->CreateRenderTargetView(device, resource, desc, rtview);
1910 }
1913  D3D11Resource resource,
1915  D3D11DepthStencilView* depth_stencil_view)
1916 {
1917  return device->lpVtbl->CreateDepthStencilView(device, resource, desc, depth_stencil_view);
1918 }
1921  const D3D11_INPUT_ELEMENT_DESC* input_element_descs,
1922  UINT num_elements,
1923  void* shader_bytecode_with_input_signature,
1924  SIZE_T bytecode_length,
1925  D3D11InputLayout* input_layout)
1926 {
1927  return device->lpVtbl->CreateInputLayout(
1928  device, input_element_descs, num_elements, shader_bytecode_with_input_signature,
1929  bytecode_length, input_layout);
1930 }
1933  void* shader_bytecode,
1934  SIZE_T bytecode_length,
1935  D3D11ClassLinkage class_linkage,
1936  D3D11VertexShader* vertex_shader)
1937 {
1938  return device->lpVtbl->CreateVertexShader(
1939  device, shader_bytecode, bytecode_length, class_linkage, vertex_shader);
1940 }
1943  void* shader_bytecode,
1944  SIZE_T bytecode_length,
1945  D3D11ClassLinkage class_linkage,
1946  D3D11GeometryShader* geometry_shader)
1947 {
1948  return device->lpVtbl->CreateGeometryShader(
1949  device, shader_bytecode, bytecode_length, class_linkage, geometry_shader);
1950 }
1953  void* shader_bytecode,
1954  SIZE_T bytecode_length,
1955  D3D11_SO_DECLARATION_ENTRY* sodeclaration,
1956  UINT num_entries,
1957  UINT* buffer_strides,
1958  UINT num_strides,
1959  UINT rasterized_stream,
1960  D3D11ClassLinkage class_linkage,
1961  D3D11GeometryShader* geometry_shader)
1962 {
1963  return device->lpVtbl->CreateGeometryShaderWithStreamOutput(
1964  device, shader_bytecode, bytecode_length, sodeclaration, num_entries, buffer_strides,
1965  num_strides, rasterized_stream, class_linkage, geometry_shader);
1966 }
1969  void* shader_bytecode,
1970  SIZE_T bytecode_length,
1971  D3D11ClassLinkage class_linkage,
1972  D3D11PixelShader* pixel_shader)
1973 {
1974  return device->lpVtbl->CreatePixelShader(
1975  device, shader_bytecode, bytecode_length, class_linkage, pixel_shader);
1976 }
1979  void* shader_bytecode,
1980  SIZE_T bytecode_length,
1981  D3D11ClassLinkage class_linkage,
1982  D3D11HullShader* hull_shader)
1983 {
1984  return device->lpVtbl->CreateHullShader(
1985  device, shader_bytecode, bytecode_length, class_linkage, hull_shader);
1986 }
1989  void* shader_bytecode,
1990  SIZE_T bytecode_length,
1991  D3D11ClassLinkage class_linkage,
1992  D3D11DomainShader* domain_shader)
1993 {
1994  return device->lpVtbl->CreateDomainShader(
1995  device, shader_bytecode, bytecode_length, class_linkage, domain_shader);
1996 }
1999  void* shader_bytecode,
2000  SIZE_T bytecode_length,
2001  D3D11ClassLinkage class_linkage,
2002  D3D11ComputeShader* compute_shader)
2003 {
2004  return device->lpVtbl->CreateComputeShader(
2005  device, shader_bytecode, bytecode_length, class_linkage, compute_shader);
2006 }
2008 {
2009  return device->lpVtbl->CreateClassLinkage(device, linkage);
2010 }
2012  D3D11Device device, D3D11_BLEND_DESC* blend_state_desc, D3D11BlendState* blend_state)
2013 {
2014  return device->lpVtbl->CreateBlendState(device, blend_state_desc, blend_state);
2015 }
2018  D3D11_DEPTH_STENCIL_DESC* depth_stencil_desc,
2019  D3D11DepthStencilState* depth_stencil_state)
2020 {
2021  return device->lpVtbl->CreateDepthStencilState(device, depth_stencil_desc, depth_stencil_state);
2022 }
2025  D3D11_RASTERIZER_DESC* rasterizer_desc,
2026  D3D11RasterizerState* rasterizer_state)
2027 {
2028  return device->lpVtbl->CreateRasterizerState(device, rasterizer_desc, rasterizer_state);
2029 }
2031  D3D11Device device, D3D11_SAMPLER_DESC* sampler_desc, D3D11SamplerState* sampler_state)
2032 {
2033  return device->lpVtbl->CreateSamplerState(device, sampler_desc, sampler_state);
2034 }
2035 static INLINE HRESULT
2037 {
2038  return device->lpVtbl->CreateQuery(device, query_desc, query);
2039 }
2041  D3D11Device device, D3D11_QUERY_DESC* predicate_desc, D3D11Predicate* predicate)
2042 {
2043  return device->lpVtbl->CreatePredicate(device, predicate_desc, predicate);
2044 }
2045 static INLINE HRESULT
2047 {
2048  return device->lpVtbl->CreateCounter(device, counter_desc, counter);
2049 }
2051  D3D11Device device, UINT context_flags, D3D11DeviceContext* deferred_context)
2052 {
2053  return device->lpVtbl->CreateDeferredContext(device, context_flags, deferred_context);
2054 }
2055 static INLINE HRESULT
2057 {
2058  return device->lpVtbl->OpenSharedResource(
2059  device, h_resource, uuidof(ID3D11Resource), (void**)out);
2060 }
2061 static INLINE HRESULT
2063 {
2064  return device->lpVtbl->CheckFormatSupport(device, format, format_support);
2065 }
2067  D3D11Device device, DXGI_FORMAT format, UINT sample_count, UINT* num_quality_levels)
2068 {
2069  return device->lpVtbl->CheckMultisampleQualityLevels(
2070  device, format, sample_count, num_quality_levels);
2071 }
2073 {
2074  device->lpVtbl->CheckCounterInfo(device, counter_info);
2075 }
2078  D3D11_COUNTER_DESC* desc,
2080  UINT* active_counters,
2081  LPSTR sz_name,
2082  UINT* name_length,
2083  LPSTR sz_units,
2084  UINT* units_length,
2085  LPSTR sz_description,
2086  UINT* description_length)
2087 {
2088  return device->lpVtbl->CheckCounter(
2089  device, desc, type, active_counters, sz_name, name_length, sz_units, units_length,
2090  sz_description, description_length);
2091 }
2094  D3D11_FEATURE feature,
2095  void* feature_support_data,
2096  UINT feature_support_data_size)
2097 {
2098  return device->lpVtbl->CheckFeatureSupport(
2099  device, feature, feature_support_data, feature_support_data_size);
2100 }
2102 {
2103  return device->lpVtbl->GetFeatureLevel(device);
2104 }
2106 {
2107  return device->lpVtbl->GetCreationFlags(device);
2108 }
2110 {
2111  return device->lpVtbl->GetDeviceRemovedReason(device);
2112 }
2113 static INLINE void
2115 {
2116  device->lpVtbl->GetImmediateContext(device, immediate_context);
2117 }
2119 {
2120  return device->lpVtbl->SetExceptionMode(device, raise_flags);
2121 }
2123 {
2124  return device->lpVtbl->GetExceptionMode(device);
2125 }
2127 {
2128  return debug->lpVtbl->SetFeatureMask(debug, mask);
2129 }
2131 {
2132  return debug->lpVtbl->GetFeatureMask(debug);
2133 }
2135 {
2136  return debug->lpVtbl->SetPresentPerRenderOpDelay(debug, milliseconds);
2137 }
2139 {
2140  return debug->lpVtbl->GetPresentPerRenderOpDelay(debug);
2141 }
2143 {
2144  return debug->lpVtbl->SetSwapChain(debug, (IDXGISwapChain*)swap_chain);
2145 }
2147 {
2148  return debug->lpVtbl->GetSwapChain(debug, (IDXGISwapChain**)swap_chain);
2149 }
2151 {
2152  return debug->lpVtbl->ValidateContext(debug, context);
2153 }
2155 {
2156  return debug->lpVtbl->ReportLiveDeviceObjects(debug, flags);
2157 }
2159 {
2160  return debug->lpVtbl->ValidateContextForDispatch(debug, context);
2161 }
2162 #ifndef __WINRT__
2163 static INLINE BOOL D3D11SetUseRef(D3D11SwitchToRef switch_to_ref, BOOL use_ref)
2164 {
2165  return switch_to_ref->lpVtbl->SetUseRef(switch_to_ref, use_ref);
2166 }
2168 {
2169  return switch_to_ref->lpVtbl->GetUseRef(switch_to_ref);
2170 }
2171 #endif
2173  D3D11TracingDevice tracing_device, UINT resource_type_flags, UINT options)
2174 {
2175  return tracing_device->lpVtbl->SetShaderTrackingOptionsByType(
2176  tracing_device, resource_type_flags, options);
2177 }
2178 static INLINE HRESULT
2180 {
2181  return tracing_device->lpVtbl->SetShaderTrackingOptions(
2182  tracing_device, (IUnknown*)shader, options);
2183 }
2184 static INLINE HRESULT
2185 D3D11SetMessageCountLimit(D3D11InfoQueue info_queue, UINT64 message_count_limit)
2186 {
2187  return info_queue->lpVtbl->SetMessageCountLimit(info_queue, message_count_limit);
2188 }
2190 {
2191  info_queue->lpVtbl->ClearStoredMessages(info_queue);
2192 }
2193 #ifndef __WINRT__
2195  D3D11InfoQueue info_queue,
2196  UINT64 message_index,
2198  SIZE_T* message_byte_length)
2199 {
2200  return info_queue->lpVtbl->GetMessageA(info_queue, message_index, message, message_byte_length);
2201 }
2202 #endif
2204 {
2205  return info_queue->lpVtbl->GetNumMessagesAllowedByStorageFilter(info_queue);
2206 }
2208 {
2209  return info_queue->lpVtbl->GetNumMessagesDeniedByStorageFilter(info_queue);
2210 }
2212 {
2213  return info_queue->lpVtbl->GetNumStoredMessages(info_queue);
2214 }
2216 {
2217  return info_queue->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(info_queue);
2218 }
2220 {
2221  return info_queue->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(info_queue);
2222 }
2224 {
2225  return info_queue->lpVtbl->GetMessageCountLimit(info_queue);
2226 }
2227 static INLINE HRESULT
2229 {
2230  return info_queue->lpVtbl->AddStorageFilterEntries(info_queue, filter);
2231 }
2233  D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER* filter, SIZE_T* filter_byte_length)
2234 {
2235  return info_queue->lpVtbl->GetStorageFilter(info_queue, filter, filter_byte_length);
2236 }
2238 {
2239  info_queue->lpVtbl->ClearStorageFilter(info_queue);
2240 }
2242 {
2243  return info_queue->lpVtbl->PushEmptyStorageFilter(info_queue);
2244 }
2246 {
2247  return info_queue->lpVtbl->PushCopyOfStorageFilter(info_queue);
2248 }
2249 static INLINE HRESULT
2251 {
2252  return info_queue->lpVtbl->PushStorageFilter(info_queue, filter);
2253 }
2255 {
2256  info_queue->lpVtbl->PopStorageFilter(info_queue);
2257 }
2259 {
2260  return info_queue->lpVtbl->GetStorageFilterStackSize(info_queue);
2261 }
2262 static INLINE HRESULT
2264 {
2265  return info_queue->lpVtbl->AddRetrievalFilterEntries(info_queue, filter);
2266 }
2268  D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER* filter, SIZE_T* filter_byte_length)
2269 {
2270  return info_queue->lpVtbl->GetRetrievalFilter(info_queue, filter, filter_byte_length);
2271 }
2273 {
2274  info_queue->lpVtbl->ClearRetrievalFilter(info_queue);
2275 }
2277 {
2278  return info_queue->lpVtbl->PushEmptyRetrievalFilter(info_queue);
2279 }
2281 {
2282  return info_queue->lpVtbl->PushCopyOfRetrievalFilter(info_queue);
2283 }
2284 static INLINE HRESULT
2286 {
2287  return info_queue->lpVtbl->PushRetrievalFilter(info_queue, filter);
2288 }
2290 {
2291  info_queue->lpVtbl->PopRetrievalFilter(info_queue);
2292 }
2294 {
2295  return info_queue->lpVtbl->GetRetrievalFilterStackSize(info_queue);
2296 }
2298  D3D11InfoQueue info_queue,
2299  D3D11_MESSAGE_CATEGORY category,
2301  D3D11_MESSAGE_ID id,
2302  LPCSTR description)
2303 {
2304  return info_queue->lpVtbl->AddMessage(info_queue, category, severity, id, description);
2305 }
2308 {
2309  return info_queue->lpVtbl->AddApplicationMessage(info_queue, severity, description);
2310 }
2311 static INLINE HRESULT
2313 {
2314  return info_queue->lpVtbl->SetBreakOnCategory(info_queue, category, enable);
2315 }
2316 static INLINE HRESULT
2318 {
2319  return info_queue->lpVtbl->SetBreakOnSeverity(info_queue, severity, enable);
2320 }
2322 {
2323  return info_queue->lpVtbl->SetBreakOnID(info_queue, id, enable);
2324 }
2325 static INLINE BOOL
2327 {
2328  return info_queue->lpVtbl->GetBreakOnCategory(info_queue, category);
2329 }
2330 static INLINE BOOL
2332 {
2333  return info_queue->lpVtbl->GetBreakOnSeverity(info_queue, severity);
2334 }
2336 {
2337  return info_queue->lpVtbl->GetBreakOnID(info_queue, id);
2338 }
2339 static INLINE void D3D11SetMuteDebugOutput(D3D11InfoQueue info_queue, BOOL mute)
2340 {
2341  info_queue->lpVtbl->SetMuteDebugOutput(info_queue, mute);
2342 }
2344 {
2345  return info_queue->lpVtbl->GetMuteDebugOutput(info_queue);
2346 }
2347 
2348 /* end of auto-generated */
2349 
2350 static INLINE HRESULT
2352 {
2353  return swap_chain->lpVtbl->GetBuffer(swap_chain, buffer, uuidof(ID3D11Texture2D), (void**)out);
2354 }
2355 
2357  D3D11DeviceContext device_context,
2359  UINT subresource,
2360  D3D11_MAP map_type,
2361  UINT map_flags,
2362  D3D11_MAPPED_SUBRESOURCE* mapped_resource)
2363 {
2364  return device_context->lpVtbl->Map(
2365  device_context, (D3D11Resource)texture, subresource, map_type, map_flags, mapped_resource);
2366 }
2367 static INLINE void
2369 {
2370  device_context->lpVtbl->Unmap(device_context, (D3D11Resource)texture, subresource);
2371 }
2373  D3D11DeviceContext device_context,
2374  D3D11Texture2D dst_texture,
2375  UINT dst_subresource,
2376  UINT dst_x,
2377  UINT dst_y,
2378  UINT dst_z,
2379  D3D11Texture2D src_texture,
2380  UINT src_subresource,
2381  D3D11_BOX* src_box)
2382 {
2383  device_context->lpVtbl->CopySubresourceRegion(
2384  device_context, (D3D11Resource)dst_texture, dst_subresource, dst_x, dst_y, dst_z,
2385  (D3D11Resource)src_texture, src_subresource, src_box);
2386 }
2391  D3D11RenderTargetView* rtview)
2392 {
2393  return device->lpVtbl->CreateRenderTargetView(device, (D3D11Resource)texture, desc, rtview);
2394 }
2399  D3D11ShaderResourceView* srview)
2400 {
2401  return device->lpVtbl->CreateShaderResourceView(device, (D3D11Resource)texture, desc, srview);
2402 }
2403 
2405  D3D11DeviceContext device_context,
2407  UINT subresource,
2408  D3D11_MAP map_type,
2409  UINT map_flags,
2410  D3D11_MAPPED_SUBRESOURCE* mapped_resource)
2411 {
2412  return device_context->lpVtbl->Map(
2413  device_context, (D3D11Resource)buffer, subresource, map_type, map_flags, mapped_resource);
2414 }
2415 static INLINE void
2417 {
2418  device_context->lpVtbl->Unmap(device_context, (D3D11Resource)buffer, subresource);
2419 }
2420 #endif
2421 
2422  /* internal */
2423 
2424 #include <assert.h>
2425 #include <boolean.h>
2426 #include <retro_math.h>
2427 #include <gfx/math/matrix_4x4.h>
2428 #include <libretro_d3d.h>
2429 #include "../video_driver.h"
2430 #include "../drivers_shader/slang_process.h"
2431 
2432 typedef struct d3d11_vertex_t
2433 {
2434  float position[2];
2435  float texcoord[2];
2436  float color[4];
2437 } d3d11_vertex_t;
2438 
2439 typedef struct
2440 {
2448 } d3d11_texture_t;
2449 
2450 typedef struct
2451 {
2452  struct
2453  {
2454  float x, y, w, h;
2455  } pos;
2456  struct
2457  {
2458  float u, v, w, h;
2459  } coords;
2460  UINT32 colors[4];
2461  struct
2462  {
2463  float scaling;
2464  float rotation;
2465  } params;
2466 } d3d11_sprite_t;
2467 
2468 #ifndef ALIGN
2469 #ifdef _MSC_VER
2470 #define ALIGN(x) __declspec(align(x))
2471 #else
2472 #define ALIGN(x) __attribute__((aligned(x)))
2473 #endif
2474 #endif
2475 
2476 typedef struct ALIGN(16)
2477 {
2478  math_matrix_4x4 mvp;
2479  struct
2480  {
2481  float width;
2482  float height;
2483  } OutputSize;
2484  float time;
2486 
2487 static_assert(
2488  (!(sizeof(d3d11_uniform_t) & 0xF)), "sizeof(d3d11_uniform_t) must be a multiple of 16");
2489 
2490 typedef struct d3d11_shader_t
2491 {
2496 } d3d11_shader_t;
2497 
2498 typedef struct
2499 {
2500  unsigned cur_mon_id;
2515  struct video_viewport vp;
2518  float clearcolor[4];
2519  bool vsync;
2526 
2527  struct
2528  {
2529  bool enable;
2530  struct retro_hw_render_interface_d3d11 iface;
2531  } hw;
2532 
2533  struct
2534  {
2538  int offset;
2540  bool enabled;
2541  } sprites;
2542 
2543 #ifdef HAVE_OVERLAY
2544  struct
2545  {
2546  D3D11Buffer vbo;
2548  bool enabled;
2549  bool fullscreen;
2550  int count;
2551  } overlays;
2552 #endif
2553 
2554  struct
2555  {
2557  D3D11Buffer vbo;
2558  bool enabled;
2560  } menu;
2561 
2562  struct
2563  {
2565  D3D11Buffer vbo;
2566  D3D11Buffer ubo;
2567  D3D11_VIEWPORT viewport;
2570  } frame;
2571 
2572  struct
2573  {
2578  D3D11_VIEWPORT viewport;
2581  } pass[GFX_MAX_SHADERS];
2582 
2585 } d3d11_video_t;
2586 
2589 {
2590  Release(texture->handle);
2591  Release(texture->staging);
2592  Release(texture->view);
2593  Release(texture->rt_view);
2594 }
2595 
2598  unsigned width,
2599  unsigned height,
2600  unsigned pitch,
2602  const void* data,
2604 
2606  D3D11Device device, DXGI_FORMAT desired_format, UINT desired_format_support);
2607 
2608 bool d3d11_init_shader(
2610  const char* src,
2611  size_t size,
2612  const void* src_name,
2613  LPCSTR vs_entry,
2614  LPCSTR ps_entry,
2615  LPCSTR gs_entry,
2616  const D3D11_INPUT_ELEMENT_DESC* input_element_descs,
2617  UINT num_elements,
2618  d3d11_shader_t* out);
2619 
2621 {
2622  Release(shader->layout);
2623  Release(shader->vs);
2624  Release(shader->ps);
2625  Release(shader->gs);
2626 }
2627 #if !defined(__cplusplus) || defined(CINTERFACE)
2628 static INLINE void
2630 {
2632  D3D11SetPShaderSamplers(ctx, slot, 1, (D3D11SamplerState*)&texture->sampler);
2633 }
2634 
2636 {
2637  D3D11SetInputLayout(ctx, shader->layout);
2638  D3D11SetVShader(ctx, shader->vs, NULL, 0);
2639  D3D11SetPShader(ctx, shader->ps, NULL, 0);
2640  D3D11SetGShader(ctx, shader->gs, NULL, 0);
2641 }
2643  D3D11DeviceContext device_context,
2644  UINT slot,
2645  D3D11Buffer const vertex_buffer,
2646  UINT stride,
2647  UINT offset)
2648 {
2649  D3D11SetVertexBuffers(device_context, slot, 1, &vertex_buffer, &stride, &offset);
2650 }
2652  D3D11DeviceContext device_context, UINT slot, D3D11Buffer const constant_buffer)
2653 {
2654  D3D11SetVShaderConstantBuffers(device_context, slot, 1, &constant_buffer);
2655 }
2657  D3D11DeviceContext device_context, UINT slot, D3D11Buffer const constant_buffer)
2658 {
2659  D3D11SetPShaderConstantBuffers(device_context, slot, 1, &constant_buffer);
2660 }
2661 #endif
static INLINE HRESULT D3D11GetContentProtectionCaps(D3D11VideoDevice video_device, GUID *crypto_type, GUID *decoder_profile, D3D11_VIDEO_CONTENT_PROTECTION_CAPS *caps)
Definition: d3d11_common.h:1836
static INLINE void D3D11HSGetShader(D3D11DeviceContext device_context, D3D11HullShader *hull_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:936
static INLINE HRESULT D3D11Map(D3D11DeviceContext device_context, D3D11Resource resource, UINT subresource, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_resource)
Definition: d3d11_common.h:264
static INLINE void D3D11SetCShaderUnorderedAccessViews(D3D11DeviceContext device_context, UINT start_slot, UINT num_uavs, D3D11UnorderedAccessView *const unordered_access_views, UINT *uavinitial_counts)
Definition: d3d11_common.h:695
#define GFX_MAX_FRAME_HISTORY
Definition: video_shader_parse.h:46
static INLINE HRESULT D3D11CreateGeometryShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11GeometryShader *geometry_shader)
Definition: d3d11_common.h:1941
ID3D11DepthStencilState * D3D11DepthStencilState
Definition: d3d11_common.h:32
static INLINE void D3D11Flush(D3D11DeviceContext device_context)
Definition: d3d11_common.h:1045
int capacity
Definition: d3d11_common.h:2539
interface ID3D11ShaderResourceView ID3D11ShaderResourceView
Definition: d3d11.h:119
GLuint shader
Definition: glext.h:6670
const GLuint * buffers
Definition: glext.h:6556
interface ID3D11RasterizerState ID3D11RasterizerState
Definition: d3d11.h:70
static INLINE void D3D11HSSetShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *const shader_resource_views)
Definition: d3d11_common.h:616
static INLINE HRESULT D3D11FinishCommandList(D3D11DeviceContext device_context, BOOL restore_deferred_context_state, D3D11CommandList *command_list)
Definition: d3d11_common.h:1053
static INLINE void D3D11VideoProcessorGetStreamLumaKey(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled, FLOAT *lower, FLOAT *upper)
Definition: d3d11_common.h:1561
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT
Definition: d3d11.h:10408
ID3D11CommandList * D3D11CommandList
Definition: d3d11_common.h:60
static INLINE UINT D3D11GetTexture2DEvictionPriority(D3D11Texture2D texture2d)
Definition: d3d11_common.h:109
static INLINE void D3D11SetPShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, ID3D11ShaderResourceView *const *shader_resource_views)
Definition: d3d11_common.h:212
D3D11_VIDEO_PROCESSOR_ROTATION
Definition: d3d11.h:10429
static INLINE void d3d11_release_texture(d3d11_texture_t *texture)
Definition: d3d11_common.h:2588
static INLINE HRESULT D3D11GetClassInstance(D3D11ClassLinkage class_linkage, LPCSTR class_instance_name, UINT instance_index, D3D11ClassInstance *instance)
Definition: d3d11_common.h:177
static INLINE HRESULT D3D11AddStorageFilterEntries(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter)
Definition: d3d11_common.h:2228
static INLINE void D3D11GetVShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:831
interface ID3D11DepthStencilState ID3D11DepthStencilState
Definition: d3d11.h:56
#define ALIGN(x)
Definition: d3d11_common.h:2472
interface ID3D11CommandList ID3D11CommandList
Definition: d3d11.h:245
Definition: matrix_4x4.h:40
static INLINE void D3D11GetCryptoType(D3D11CryptoSession crypto_session, GUID *crypto_type)
Definition: d3d11_common.h:1143
Definition: d3d11_common.h:2490
ID3D11VideoContext * D3D11VideoContext
Definition: d3d11_common.h:70
static INLINE void D3D11VideoProcessorSetStreamColorSpace(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space)
Definition: d3d11_common.h:1351
static INLINE void D3D11GetCryptoSessionHandle(D3D11CryptoSession crypto_session, HANDLE *crypto_session_handle)
Definition: d3d11_common.h:1162
static INLINE HRESULT D3D11OpenSharedResource(D3D11Device device, HANDLE h_resource, ID3D11Resource **out)
Definition: d3d11_common.h:2056
ID3D11RasterizerState * D3D11RasterizerState
Definition: d3d11_common.h:31
static INLINE void D3D11VideoProcessorSetStreamAlpha(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, FLOAT alpha)
Definition: d3d11_common.h:1391
ID3D11ClassLinkage * D3D11ClassLinkage
Definition: d3d11_common.h:59
static INLINE void D3D11Dispatch(D3D11DeviceContext device_context, UINT thread_group_count_x, UINT thread_group_count_y, UINT thread_group_count_z)
Definition: d3d11_common.h:478
static INLINE void D3D11GetIndexBuffer(D3D11DeviceContext device_context, D3D11Buffer *index_buffer, DXGI_FORMAT *format, UINT *offset)
Definition: d3d11_common.h:800
ID3D11InputLayout * D3D11InputLayout
Definition: d3d11_common.h:30
static INLINE HRESULT D3D11GetCreationParameters(D3D11VideoDecoder video_decoder, D3D11_VIDEO_DECODER_DESC *video_desc, D3D11_VIDEO_DECODER_CONFIG *config)
Definition: d3d11_common.h:1061
static INLINE HRESULT D3D11CreateShaderResourceView(D3D11Device device, D3D11Resource resource, D3D11_SHADER_RESOURCE_VIEW_DESC *desc, D3D11ShaderResourceView *srview)
Definition: d3d11_common.h:1887
#define INLINE
Definition: retro_inline.h:35
static INLINE void D3D11GetPShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:775
static INLINE void D3D11GetImmediateContext(D3D11Device device, D3D11DeviceContext *immediate_context)
Definition: d3d11_common.h:2114
D3D_FEATURE_LEVEL
Definition: d3dcommon.h:79
static INLINE UINT D3D11GetDeviceContextContextFlags(D3D11DeviceContext device_context)
Definition: d3d11_common.h:1049
static INLINE BOOL D3D11GetBreakOnSeverity(D3D11InfoQueue info_queue, D3D11_MESSAGE_SEVERITY severity)
Definition: d3d11_common.h:2331
static INLINE void D3D11GetScissorRects(D3D11DeviceContext device_context, UINT *num_rects, D3D11_RECT *rects)
Definition: d3d11_common.h:923
static INLINE void D3D11VideoProcessorGetOutputStereoMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL *enabled)
Definition: d3d11_common.h:1326
interface ID3D11VideoProcessorOutputView ID3D11VideoProcessorOutputView
Definition: d3d11.h:308
static INLINE HRESULT D3D11GetVideoProcessorFilterRange(D3D11VideoProcessorEnumerator video_processor_enumerator, D3D11_VIDEO_PROCESSOR_FILTER filter, D3D11_VIDEO_PROCESSOR_FILTER_RANGE *range)
Definition: d3d11_common.h:1108
static INLINE void D3D11SetDShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *const constant_buffers)
Definition: d3d11_common.h:677
static INLINE void D3D11VideoProcessorGetStreamPalette(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, UINT count, UINT *entries)
Definition: d3d11_common.h:1539
interface ID3D11InputLayout ID3D11InputLayout
Definition: d3d11.h:189
int rotation
Definition: d3d11_common.h:2569
GLboolean GLenum GLenum GLvoid * values
Definition: glext.h:6318
Definition: glslang_tab.cpp:129
static INLINE void D3D11GetRenderTargets(D3D11DeviceContext device_context, UINT num_views, D3D11RenderTargetView *render_target_views, D3D11DepthStencilView *depth_stencil_view)
Definition: d3d11_common.h:870
static INLINE void D3D11SetState(D3D11DeviceContext device_context, D3D11RasterizerState rasterizer_state)
Definition: d3d11_common.h:496
static INLINE void D3D11GetBlendState(D3D11DeviceContext device_context, D3D11BlendState *blend_state, FLOAT blend_factor[4], UINT *sample_mask)
Definition: d3d11_common.h:892
bool resize_render_targets
Definition: d3d11_common.h:2523
static INLINE UINT64 D3D11GetNumMessagesDiscardedByMessageCountLimit(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2219
float v
Definition: d3d11_common.h:2458
interface ID3D11Texture1D ID3D11Texture1D
Definition: d3d11.h:91
static INLINE UINT64 D3D11GetNumStoredMessages(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2211
static INLINE HRESULT D3D11CreateBlendState(D3D11Device device, D3D11_BLEND_DESC *blend_state_desc, D3D11BlendState *blend_state)
Definition: d3d11_common.h:2011
static INLINE HRESULT D3D11CreateSamplerState(D3D11Device device, D3D11_SAMPLER_DESC *sampler_desc, D3D11SamplerState *sampler_state)
Definition: d3d11_common.h:2030
static INLINE UINT D3D11GetQueryDataSize(D3D11Query query)
Definition: d3d11_common.h:150
Definition: d3d11.h:9999
__unsafe_unretained id< MTLTexture > view
Definition: metal_common.m:518
ID3D11DepthStencilView * D3D11DepthStencilView
Definition: d3d11_common.h:52
static INLINE void D3D11CheckCounterInfo(D3D11Device device, D3D11_COUNTER_INFO *counter_info)
Definition: d3d11_common.h:2072
GLenum const GLfloat * params
Definition: glext.h:6297
Definition: d3d11sdklayers.h:2097
static INLINE void D3D11SetPShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, ID3D11SamplerState *const *samplers)
Definition: d3d11_common.h:231
static INLINE void D3D11SetMuteDebugOutput(D3D11InfoQueue info_queue, BOOL mute)
Definition: d3d11_common.h:2339
unsigned cur_mon_id
Definition: d3d11_common.h:2500
Definition: dxgi_common.h:798
D3D11Texture2D handle
Definition: d3d11_common.h:2441
static INLINE UINT D3D11GetCounterDataSize(D3D11Counter counter)
Definition: d3d11_common.h:158
static INLINE HRESULT D3D11CreateTexture2D(D3D11Device device, D3D11_TEXTURE2D_DESC *desc, D3D11_SUBRESOURCE_DATA *initial_data, D3D11Texture2D *texture2d)
Definition: d3d11_common.h:1871
float y
Definition: d3d11_common.h:2454
static INLINE void D3D11VideoProcessorGetStreamFrameFormat(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_FRAME_FORMAT *frame_format)
Definition: d3d11_common.h:1480
interface ID3D11Texture3D ID3D11Texture3D
Definition: d3d11.h:105
static INLINE void D3D11VideoProcessorSetStreamRotation(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, D3D11_VIDEO_PROCESSOR_ROTATION rotation)
Definition: d3d11_common.h:1717
static INLINE HRESULT D3D11GetDecoderBuffer(D3D11VideoContext video_context, D3D11VideoDecoder decoder, D3D11_VIDEO_DECODER_BUFFER_TYPE type, UINT *buffer_size, void **buffer)
Definition: d3d11_common.h:1181
static INLINE void D3D11GetDShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:988
Definition: ffmpeg_core.c:151
static INLINE void D3D11VideoProcessorGetStreamOutputRate(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *output_rate, BOOL *repeat_frame, DXGI_RATIONAL *custom_rate)
Definition: d3d11_common.h:1498
RECT D3D11_RECT
Definition: d3d11.h:1286
static INLINE HRESULT D3D11CreateRasterizerState(D3D11Device device, D3D11_RASTERIZER_DESC *rasterizer_desc, D3D11RasterizerState *rasterizer_state)
Definition: d3d11_common.h:2023
rotation
Definition: video_defines.h:62
static INLINE void D3D11ClearStoredMessages(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2189
static INLINE void D3D11SetVShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, const D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:203
static INLINE HRESULT D3D11VideoProcessorBlt(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, D3D11VideoProcessorOutputView view, UINT output_frame, UINT stream_count, D3D11_VIDEO_PROCESSOR_STREAM *streams)
Definition: d3d11_common.h:1618
void d3d11_init_texture(D3D11Device device, d3d11_texture_t *texture)
Definition: d3d11_common.c:95
static INLINE void D3D11VideoProcessorGetStreamSourceRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled, RECT *rect)
Definition: d3d11_common.h:1509
interface ID3D11BlendState ID3D11BlendState
Definition: d3d11.h:63
ID3D11SamplerState * D3D11SamplerState
Definition: d3d11_common.h:35
static INLINE void D3D11GetDShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:962
interface ID3D11VertexShader ID3D11VertexShader
Definition: d3d11.h:147
D3D11PixelShader ps
Definition: d3d11_common.h:2493
static INLINE HRESULT D3D11GetAuthenticatedChannelCertificateSize(D3D11AuthenticatedChannel authenticated_channel, UINT *certificate_size)
Definition: d3d11_common.h:1126
#define uuidof(type)
Definition: dxgi_common.h:246
interface ID3D11Resource ID3D11Resource
Definition: d3d11.h:77
static INLINE UINT64 D3D11GetNumStoredMessagesAllowedByRetrievalFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2215
D3D11Buffer menu_pipeline_vbo
Definition: d3d11_common.h:2513
ID3D11GeometryShader * D3D11GeometryShader
Definition: d3d11_common.h:40
static INLINE void D3D11GetPShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:740
static INLINE void D3D11SetPredication(D3D11DeviceContext device_context, D3D11Predicate predicate, BOOL predicate_value)
Definition: d3d11_common.h:390
static INLINE void D3D11ClearStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2237
ID3D11VideoProcessorEnumerator * D3D11VideoProcessorEnumerator
Definition: d3d11_common.h:63
uint64_t UINT64
Definition: coretypes.h:8
static INLINE void D3D11DrawIndexed(D3D11DeviceContext device_context, UINT index_count, UINT start_index_location, INT base_vertex_location)
Definition: d3d11_common.h:250
D3D11_TEXTURE2D_DESC desc
Definition: d3d11_common.h:2443
static INLINE FLOAT D3D11GetResourceMinLOD(D3D11DeviceContext device_context, D3D11Resource resource)
Definition: d3d11_common.h:596
static INLINE void D3D11VideoProcessorGetStreamRotation(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enable, D3D11_VIDEO_PROCESSOR_ROTATION *rotation)
Definition: d3d11_common.h:1727
GLenum GLint * range
Definition: glext.h:8206
static INLINE HRESULT D3D11CheckVideoProcessorFormat(D3D11VideoProcessorEnumerator video_processor_enumerator, DXGI_FORMAT format, UINT *flags)
Definition: d3d11_common.h:1079
static INLINE UINT D3D11GetAsynchronousDataSize(D3D11Asynchronous asynchronous)
Definition: d3d11_common.h:146
static INLINE UINT D3D11GetPresentPerRenderOpDelay(D3D11Debug debug)
Definition: d3d11_common.h:2138
static INLINE void D3D11SetResourceEvictionPriority(D3D11Resource resource, UINT eviction_priority)
Definition: d3d11_common.h:79
static INLINE HRESULT D3D11CreateVideoProcessorOutputView(D3D11VideoDevice video_device, D3D11Resource resource, D3D11VideoProcessorEnumerator enumerator, D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *desc, D3D11VideoProcessorOutputView *vpoview)
Definition: d3d11_common.h:1791
GLsizeiptr size
Definition: glext.h:6559
D3D11_AUTHENTICATED_CHANNEL_TYPE
Definition: d3d11.h:10607
static INLINE APP_DEPRECATED_HRESULT D3D11DecoderExtension(D3D11VideoContext video_context, D3D11VideoDecoder decoder, D3D11_VIDEO_DECODER_EXTENSION *extension_data)
Definition: d3d11_common.h:1222
static INLINE void D3D11SetDShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *const samplers)
Definition: d3d11_common.h:669
static INLINE UINT64 D3D11GetNumMessagesDeniedByStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2207
GLuint GLsizei const GLuint const GLintptr * offsets
Definition: glsym_gl.h:634
interface ID3D11Device ID3D11Device
Definition: d3d11.h:329
interface ID3D11InfoQueue ID3D11InfoQueue
Definition: d3d11sdklayers.h:84
static INLINE void D3D11GetCShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:1032
Definition: d3d11.h:3815
static INLINE void D3D11SetRenderTargetsAndUnorderedAccessViews(D3D11DeviceContext device_context, UINT num_rtvs, D3D11RenderTargetView *const render_target_views, D3D11DepthStencilView depth_stencil_view, UINT uavstart_slot, UINT num_uavs, D3D11UnorderedAccessView *const unordered_access_views, UINT *uavinitial_counts)
Definition: d3d11_common.h:421
static INLINE HRESULT D3D11GetCryptoSessionCertificate(D3D11CryptoSession crypto_session, UINT certificate_size, BYTE *certificate)
Definition: d3d11_common.h:1156
static INLINE void D3D11DrawAuto(D3D11DeviceContext device_context)
Definition: d3d11_common.h:458
bool d3d11_init_shader(D3D11Device device, const char *src, size_t size, const void *src_name, LPCSTR vs_entry, LPCSTR ps_entry, LPCSTR gs_entry, const D3D11_INPUT_ELEMENT_DESC *input_element_descs, UINT num_elements, d3d11_shader_t *out)
Definition: d3d11_common.c:221
ID3D11DeviceContext * D3D11DeviceContext
Definition: d3d11_common.h:61
static INLINE HRESULT D3D11ValidateContext(D3D11Debug debug, D3D11DeviceContext context)
Definition: d3d11_common.h:2150
Definition: d3d11.h:10123
#define GFX_MAX_TEXTURES
Definition: video_shader_parse.h:34
static INLINE HRESULT D3D11CreateGeometryShaderWithStreamOutput(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11_SO_DECLARATION_ENTRY *sodeclaration, UINT num_entries, UINT *buffer_strides, UINT num_strides, UINT rasterized_stream, D3D11ClassLinkage class_linkage, D3D11GeometryShader *geometry_shader)
Definition: d3d11_common.h:1951
ID3D11VideoDevice * D3D11VideoDevice
Definition: d3d11_common.h:71
#define color_space
Definition: ps3_defines.h:298
GLboolean enable
Definition: glext.h:12027
static INLINE void D3D11GetCShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:997
static INLINE void d3d11_set_texture_and_sampler(D3D11DeviceContext ctx, UINT slot, d3d11_texture_t *texture)
Definition: d3d11_common.h:2629
static INLINE HRESULT D3D11DecoderBeginFrame(D3D11VideoContext video_context, D3D11VideoDecoder decoder, D3D11VideoDecoderOutputView view, UINT content_key_size, void *content_key)
Definition: d3d11_common.h:1198
static INLINE void D3D11SetPShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, const D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:280
interface ID3D11ComputeShader ID3D11ComputeShader
Definition: d3d11.h:182
Definition: video_shader_parse.h:72
static INLINE void D3D11SetGShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *const constant_buffers)
Definition: d3d11_common.h:333
static INLINE void D3D11VideoProcessorSetOutputConstriction(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable, SIZE size)
Definition: d3d11_common.h:1261
struct passwd out
Definition: missing_libc_functions.c:51
static INLINE HRESULT D3D11CheckCryptoKeyExchange(D3D11VideoDevice video_device, GUID *crypto_type, GUID *decoder_profile, UINT index, GUID *key_exchange_type)
Definition: d3d11_common.h:1845
d3d11_shader_t shader
Definition: d3d11_common.h:2535
static INLINE void D3D11SetVShader(D3D11DeviceContext device_context, D3D11VertexShader vertex_shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:241
const ID3D11SamplerState * D3D11SamplerStateRef
Definition: d3d11_common.h:27
static const bool fullscreen
Definition: config.def.h:108
ID3D11VideoProcessorOutputView * D3D11VideoProcessorOutputView
Definition: d3d11_common.h:69
static INLINE void D3D11GetDShader(D3D11DeviceContext device_context, D3D11DomainShader *domain_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:971
static INLINE HRESULT D3D11CreateHullShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11HullShader *hull_shader)
Definition: d3d11_common.h:1977
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
DXGI_FORMAT d3d11_get_closest_match(D3D11Device device, DXGI_FORMAT desired_format, UINT desired_format_support)
Definition: d3d11_common.c:201
static INLINE UINT D3D11GetVideoDecoderProfileCount(D3D11VideoDevice video_device)
Definition: d3d11_common.h:1808
static INLINE void D3D11SetCShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *const constant_buffers)
Definition: d3d11_common.h:722
static INLINE HRESULT D3D11SetDebugFeatureMask(D3D11Debug debug, UINT mask)
Definition: d3d11_common.h:2126
static INLINE void D3D11GetDecoderProfile(D3D11CryptoSession crypto_session, GUID *decoder_profile)
Definition: d3d11_common.h:1147
D3D11InputLayout layout
Definition: d3d11_common.h:2495
static INLINE void D3D11VideoProcessorSetStreamLumaKey(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, FLOAT lower, FLOAT upper)
Definition: d3d11_common.h:1423
static INLINE HRESULT D3D11SetBreakOnSeverity(D3D11InfoQueue info_queue, D3D11_MESSAGE_SEVERITY severity, BOOL enable)
Definition: d3d11_common.h:2317
static INLINE HRESULT D3D11CreateVideoProcessor(D3D11VideoDevice video_device, D3D11VideoProcessorEnumerator enumerator, UINT rate_conversion_index, D3D11VideoProcessor *video_processor)
Definition: d3d11_common.h:1745
static INLINE void D3D11VideoProcessorGetOutputColorSpace(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space)
Definition: d3d11_common.h:1300
static INLINE void D3D11SOGetTargets(D3D11DeviceContext device_context, UINT num_buffers, D3D11Buffer *sotargets)
Definition: d3d11_common.h:908
GLenum GLenum GLenum input
Definition: glext.h:9938
Definition: ibxm.h:9
static INLINE void D3D11GetVShader(D3D11DeviceContext device_context, D3D11VertexShader *vertex_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:766
static INLINE void D3D11GetVertexBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *vertex_buffers, UINT *strides, UINT *offsets)
Definition: d3d11_common.h:789
static INLINE UINT D3D11GetCreationFlags(D3D11Device device)
Definition: d3d11_common.h:2105
Definition: d3d11.h:1555
static INLINE HRESULT D3D11ReleaseDecoderBuffer(D3D11VideoContext video_context, D3D11VideoDecoder decoder, D3D11_VIDEO_DECODER_BUFFER_TYPE type)
Definition: d3d11_common.h:1191
static INLINE void D3D11GetUnorderedAccessViewResource(D3D11UnorderedAccessView unordered_access_view, D3D11Resource *resource)
Definition: d3d11_common.h:141
static INLINE void D3D11DrawIndexedInstancedIndirect(D3D11DeviceContext device_context, D3D11Buffer buffer_for_args, UINT aligned_byte_offset_for_args)
Definition: d3d11_common.h:462
static INLINE UINT64 D3D11GetNumMessagesAllowedByStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2203
D3D11_MESSAGE_SEVERITY
Definition: d3d11sdklayers.h:754
static INLINE void D3D11GetPShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:758
static INLINE HRESULT D3D11NegotiateAuthenticatedChannelKeyExchange(D3D11VideoContext video_context, D3D11AuthenticatedChannel channel, UINT data_size, void *data)
Definition: d3d11_common.h:1687
static INLINE void D3D11SetCShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *const shader_resource_views)
Definition: d3d11_common.h:686
ID3D11Texture3D * D3D11Texture3D
Definition: d3d11_common.h:48
static INLINE void D3D11SetDShader(D3D11DeviceContext device_context, D3D11DomainShader domain_shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:660
const ID3D11BlendState * D3D11BlendStateRef
Definition: d3d11_common.h:28
static INLINE UINT D3D11GetDebugFeatureMask(D3D11Debug debug)
Definition: d3d11_common.h:2130
GLuint GLuint GLsizei count
Definition: glext.h:6292
static INLINE void D3D11VideoProcessorSetStreamOutputRate(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_OUTPUT_RATE output_rate, BOOL repeat_frame, DXGI_RATIONAL *custom_rate)
Definition: d3d11_common.h:1360
static INLINE void D3D11VideoProcessorSetStreamDestRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, RECT *rect)
Definition: d3d11_common.h:1381
static INLINE void D3D11SetVertexBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, const D3D11Buffer *vertex_buffers, UINT *strides, UINT *offsets)
Definition: d3d11_common.h:294
Definition: video_shader_parse.h:143
static INLINE void D3D11VideoProcessorGetOutputAlphaFillMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode, UINT *stream_index)
Definition: d3d11_common.h:1308
static INLINE void D3D11GetCShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:1024
interface ID3D11SamplerState ID3D11SamplerState
Definition: d3d11.h:196
pass_semantics_t semantics
Definition: d3d11_common.h:2579
static INLINE void D3D11VideoProcessorSetStreamSourceRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, RECT *rect)
Definition: d3d11_common.h:1371
static INLINE BOOL D3D11GetUseRef(D3D11SwitchToRef switch_to_ref)
Definition: d3d11_common.h:2167
static INLINE HRESULT D3D11GetMessageA(D3D11InfoQueue info_queue, UINT64 message_index, D3D11_MESSAGE *message, SIZE_T *message_byte_length)
Definition: d3d11_common.h:2194
static INLINE void D3D11CopyTexture2DSubresourceRegion(D3D11DeviceContext device_context, D3D11Texture2D dst_texture, UINT dst_subresource, UINT dst_x, UINT dst_y, UINT dst_z, D3D11Texture2D src_texture, UINT src_subresource, D3D11_BOX *src_box)
Definition: d3d11_common.h:2372
D3D11_FEATURE
Definition: d3d11.h:7290
static INLINE void D3D11ExecuteCommandList(D3D11DeviceContext device_context, D3D11CommandList command_list, BOOL restore_context_state)
Definition: d3d11_common.h:611
static INLINE void D3D11Unmap(D3D11DeviceContext device_context, D3D11Resource resource, UINT subresource)
Definition: d3d11_common.h:276
interface ID3D11AuthenticatedChannel ID3D11AuthenticatedChannel
Definition: d3d11.h:280
static INLINE HRESULT D3D11AddApplicationMessage(D3D11InfoQueue info_queue, D3D11_MESSAGE_SEVERITY severity, LPCSTR description)
Definition: d3d11_common.h:2306
static INLINE void D3D11GetRenderTargetViewResource(D3D11RenderTargetView render_target_view, D3D11Resource *resource)
Definition: d3d11_common.h:132
interface ID3D11VideoContext ID3D11VideoContext
Definition: d3d11.h:315
static INLINE void D3D11VideoProcessorSetOutputBackgroundColor(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL ycb_cr, D3D11_VIDEO_COLOR *color)
Definition: d3d11_common.h:1235
int offset
Definition: d3d11_common.h:2538
d3d11_texture_t texture
Definition: d3d11_common.h:2556
DXGI_FORMAT format
Definition: d3d11_common.h:2517
float4_t size_data
Definition: d3d11_common.h:2447
GLenum GLuint GLenum severity
Definition: glext.h:6233
ID3D11RenderTargetView * D3D11RenderTargetView
Definition: d3d11_common.h:51
static INLINE void D3D11SetBufferEvictionPriority(D3D11Buffer buffer, UINT eviction_priority)
Definition: d3d11_common.h:87
GLuint coords
Definition: glext.h:8035
D3D11RenderTargetView renderTargetView
Definition: d3d11_common.h:2506
ID3D11Texture2D * D3D11Texture2D
Definition: d3d11_common.h:47
ID3D11Asynchronous * D3D11Asynchronous
Definition: d3d11_common.h:54
Definition: d3d11.h:1076
static INLINE BOOL D3D11SetUseRef(D3D11SwitchToRef switch_to_ref, BOOL use_ref)
Definition: d3d11_common.h:2163
static INLINE void D3D11VideoProcessorGetStreamStereoFormat(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enable, D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format, BOOL *left_view_frame0, BOOL *base_view_frame0, D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode, int *mono_offset)
Definition: d3d11_common.h:1572
bool resize_viewport
Definition: d3d11_common.h:2522
static char video_device[ENVVAR_BUFLEN]
Definition: video_processor_v4l2.c:76
const GLuint * shaders
Definition: glext.h:8205
interface ID3D11Texture2D ID3D11Texture2D
Definition: d3d11.h:98
static INLINE HRESULT D3D11GetVideoDecoderConfig(D3D11VideoDevice video_device, D3D11_VIDEO_DECODER_DESC *desc, UINT index, D3D11_VIDEO_DECODER_CONFIG *config)
Definition: d3d11_common.h:1828
static INLINE void d3d11_set_shader(D3D11DeviceContext ctx, d3d11_shader_t *shader)
Definition: d3d11_common.h:2635
static INLINE void D3D11VideoProcessorSetOutputAlphaFillMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode, UINT stream_index)
Definition: d3d11_common.h:1252
Definition: d3d11.h:1982
static INLINE void D3D11VideoProcessorSetOutputTargetRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable, RECT *rect)
Definition: d3d11_common.h:1229
static INLINE void D3D11GetGShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:853
Definition: d3d11.h:10070
bool enabled
Definition: d3d11_common.h:2540
static INLINE HRESULT D3D11PushStorageFilter(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter)
Definition: d3d11_common.h:2250
ID3D11SwitchToRef * D3D11SwitchToRef
Definition: d3d11_common.h:74
#define NULL
Pointer to 0.
Definition: gctypes.h:65
ID3D11Resource * D3D11Resource
Definition: d3d11_common.h:44
D3D11GeometryShader gs
Definition: d3d11_common.h:2494
GLenum type
Definition: glext.h:6233
static INLINE void D3D11FinishSessionKeyRefresh(D3D11VideoContext video_context, D3D11CryptoSession crypto_session)
Definition: d3d11_common.h:1674
static INLINE HRESULT D3D11AddRetrievalFilterEntries(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter)
Definition: d3d11_common.h:2263
d3d11_shader_t shader_font
Definition: d3d11_common.h:2536
Definition: d3d11.h:2748
static INLINE HRESULT D3D11CreatePredicate(D3D11Device device, D3D11_QUERY_DESC *predicate_desc, D3D11Predicate *predicate)
Definition: d3d11_common.h:2040
DXGI_FORMAT
Definition: dxgiformat.h:10
static INLINE void D3D11GetDShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:980
static INLINE HRESULT D3D11AddMessage(D3D11InfoQueue info_queue, D3D11_MESSAGE_CATEGORY category, D3D11_MESSAGE_SEVERITY severity, D3D11_MESSAGE_ID id, LPCSTR description)
Definition: d3d11_common.h:2297
interface ID3D11ClassLinkage ID3D11ClassLinkage
Definition: d3d11.h:238
static INLINE HRESULT D3D11CreateVideoProcessorInputView(D3D11VideoDevice video_device, D3D11Resource resource, D3D11VideoProcessorEnumerator enumerator, D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *desc, D3D11VideoProcessorInputView *vpiview)
Definition: d3d11_common.h:1781
DXGISwapChain swapChain
Definition: d3d11_common.h:2501
static INLINE UINT D3D11GetStorageFilterStackSize(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2258
ID3D11PixelShader * D3D11PixelShader
Definition: d3d11_common.h:34
D3D11BlendState blend_pipeline
Definition: d3d11_common.h:2512
static INLINE void D3D11GetVideoProcessorOutputViewResource(D3D11VideoProcessorOutputView video_processor_output_view, D3D11Resource *resource)
Definition: d3d11_common.h:1176
interface ID3D11Buffer ID3D11Buffer
Definition: d3d11.h:84
static INLINE HRESULT D3D11GetSwapChain(D3D11Debug debug, IDXGISwapChain **swap_chain)
Definition: d3d11_common.h:2146
D3D11Texture2D staging
Definition: d3d11_common.h:2442
ID3D11Predicate * D3D11Predicate
Definition: d3d11_common.h:56
ID3D11CryptoSession * D3D11CryptoSession
Definition: d3d11_common.h:66
static INLINE HRESULT D3D11ReportLiveDeviceObjects(D3D11Debug debug, D3D11_RLDO_FLAGS flags)
Definition: d3d11_common.h:2154
Definition: video_shader_parse.h:83
interface ID3D11CryptoSession ID3D11CryptoSession
Definition: d3d11.h:287
GLuint * samplers
Definition: glext.h:7947
GLuint counter
Definition: glext.h:12023
interface ID3D11DepthStencilView ID3D11DepthStencilView
Definition: d3d11.h:133
AVFormatContext * ctx
Definition: record_ffmpeg.c:247
D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE
Definition: d3d11.h:10391
static INLINE HRESULT D3D11GetVideoProcessorRateConversionCaps(D3D11VideoProcessorEnumerator video_processor_enumerator, UINT type_index, D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *caps)
Definition: d3d11_common.h:1091
static INLINE HRESULT D3D11CheckFormatSupport(D3D11Device device, DXGI_FORMAT format, UINT *format_support)
Definition: d3d11_common.h:2062
static INLINE void D3D11GetGShader(D3D11DeviceContext device_context, D3D11GeometryShader *geometry_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:817
ID3D11Device * D3D11Device
Definition: d3d11_common.h:72
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:8417
static INLINE HRESULT D3D11GetVideoProcessorCaps(D3D11VideoProcessorEnumerator video_processor_enumerator, D3D11_VIDEO_PROCESSOR_CAPS *caps)
Definition: d3d11_common.h:1085
static INLINE void D3D11SetVShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *const shader_resource_views)
Definition: d3d11_common.h:356
static INLINE void D3D11PopRetrievalFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2289
static INLINE void D3D11GetDepthStencilViewResource(D3D11DepthStencilView depth_stencil_view, D3D11Resource *resource)
Definition: d3d11_common.h:137
static INLINE HRESULT D3D11PushCopyOfRetrievalFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2280
static INLINE void D3D11HSSetShader(D3D11DeviceContext device_context, D3D11HullShader hull_shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:625
static INLINE HRESULT D3D11GetDriverHandle(D3D11VideoDecoder video_decoder, HANDLE *driver_handle)
Definition: d3d11_common.h:1068
static INLINE HRESULT D3D11GetDeviceRemovedReason(D3D11Device device)
Definition: d3d11_common.h:2109
static INLINE void D3D11Draw(D3D11DeviceContext device_context, UINT vertex_count, UINT start_vertex_location)
Definition: d3d11_common.h:260
static INLINE HRESULT D3D11SetBreakOnID(D3D11InfoQueue info_queue, D3D11_MESSAGE_ID id, BOOL enable)
Definition: d3d11_common.h:2321
static INLINE void D3D11VideoProcessorSetOutputColorSpace(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space)
Definition: d3d11_common.h:1244
static INLINE void D3D11GetChannelHandle(D3D11AuthenticatedChannel authenticated_channel, HANDLE *channel_handle)
Definition: d3d11_common.h:1139
static INLINE void D3D11SetScissorRects(D3D11DeviceContext device_context, UINT num_rects, D3D11_RECT *rects)
Definition: d3d11_common.h:506
D3D11VertexShader vs
Definition: d3d11_common.h:2492
static INLINE HRESULT D3D11CreateVideoDecoderOutputView(D3D11VideoDevice video_device, D3D11Resource resource, D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *desc, D3D11VideoDecoderOutputView *vdovview)
Definition: d3d11_common.h:1772
bool init_history
Definition: d3d11_common.h:2524
static INLINE void D3D11HSSetConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *const constant_buffers)
Definition: d3d11_common.h:642
Definition: d3d11.h:1320
static INLINE UINT D3D11GetTexture1DEvictionPriority(D3D11Texture1D texture1d)
Definition: d3d11_common.h:100
Definition: dxgicommon.h:9
static INLINE APP_DEPRECATED_HRESULT D3D11VideoProcessorSetOutputExtension(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, GUID *extension_guid, UINT data_size, void *data)
Definition: d3d11_common.h:1272
float position[2]
Definition: d3d11_common.h:2434
ID3D11Buffer * D3D11Buffer
Definition: d3d11_common.h:45
ID3D11HullShader * D3D11HullShader
Definition: d3d11_common.h:38
ID3D11VideoDecoder * D3D11VideoDecoder
Definition: d3d11_common.h:62
static INLINE void D3D11GetViewports(D3D11DeviceContext device_context, UINT *num_viewports, D3D11_VIEWPORT *viewports)
Definition: d3d11_common.h:918
static INLINE void D3D11VideoProcessorGetStreamColorSpace(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space)
Definition: d3d11_common.h:1489
static INLINE APP_DEPRECATED_HRESULT D3D11VideoProcessorSetStreamExtension(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, GUID *extension_guid, UINT data_size, void *data)
Definition: d3d11_common.h:1469
Definition: d3d11.h:2352
static INLINE void D3D11GetInstanceName(D3D11ClassInstance class_instance, LPSTR instance_name, SIZE_T *buffer_length)
Definition: d3d11_common.h:168
static INLINE BOOL D3D11GetMuteDebugOutput(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2343
static INLINE HRESULT D3D11CheckVideoDecoderFormat(D3D11VideoDevice video_device, GUID *decoder_profile, DXGI_FORMAT format, BOOL *supported)
Definition: d3d11_common.h:1817
static INLINE void D3D11GetViewResource(D3D11View view, D3D11Resource *resource)
Definition: d3d11_common.h:122
static INLINE HRESULT D3D11QueryAuthenticatedChannel(D3D11VideoContext video_context, D3D11AuthenticatedChannel channel, UINT input_size, void *input, UINT output_size, void *output)
Definition: d3d11_common.h:1696
static INLINE void D3D11GenerateMips(D3D11DeviceContext device_context, D3D11ShaderResourceView shader_resource_view)
Definition: d3d11_common.h:586
static const unsigned char iv[]
Definition: ccm.c:364
Definition: d3d11.h:1116
D3D11_VIDEO_PROCESSOR_OUTPUT_RATE
Definition: d3d11.h:10400
GLint level
Definition: glext.h:6293
ID3D11VideoProcessor * D3D11VideoProcessor
Definition: d3d11_common.h:64
D3D11_VIDEO_FRAME_FORMAT
Definition: d3d11.h:10107
static INLINE void D3D11GetCShader(D3D11DeviceContext device_context, D3D11ComputeShader *compute_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:1015
ID3D11Texture1D * D3D11Texture1D
Definition: d3d11_common.h:46
interface IDXGISwapChain IDXGISwapChain
Definition: dxgi.h:100
static INLINE HRESULT D3D11CreateInputLayout(D3D11Device device, const D3D11_INPUT_ELEMENT_DESC *input_element_descs, UINT num_elements, void *shader_bytecode_with_input_signature, SIZE_T bytecode_length, D3D11InputLayout *input_layout)
Definition: d3d11_common.h:1919
static INLINE void D3D11GetVShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:840
Definition: d3d11.h:10099
static INLINE void D3D11GetDepthStencilState(D3D11DeviceContext device_context, D3D11DepthStencilState *depth_stencil_state, UINT *stencil_ref)
Definition: d3d11_common.h:900
static INLINE HRESULT D3D11ValidateContextForDispatch(D3D11Debug debug, D3D11DeviceContext context)
Definition: d3d11_common.h:2158
static INLINE void D3D11SetInputLayout(D3D11DeviceContext device_context, D3D11InputLayout input_layout)
Definition: d3d11_common.h:290
static INLINE void D3D11ClearDepthStencilView(D3D11DeviceContext device_context, D3D11DepthStencilView depth_stencil_view, UINT clear_flags, FLOAT depth, UINT8 stencil)
Definition: d3d11_common.h:575
static INLINE void D3D11GetInputLayout(D3D11DeviceContext device_context, D3D11InputLayout *input_layout)
Definition: d3d11_common.h:785
static INLINE HRESULT D3D11CreateBuffer(D3D11Device device, D3D11_BUFFER_DESC *desc, D3D11_SUBRESOURCE_DATA *initial_data, D3D11Buffer *buffer)
Definition: d3d11_common.h:1855
interface ID3D11GeometryShader ID3D11GeometryShader
Definition: d3d11.h:168
Definition: d3d11.h:2957
static INLINE void D3D11HSGetShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *shader_resource_views)
Definition: d3d11_common.h:927
static INLINE UINT D3D11GetBufferEvictionPriority(D3D11Buffer buffer)
Definition: d3d11_common.h:91
static INLINE HRESULT D3D11PushEmptyRetrievalFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2276
Definition: d3d11.h:11383
static INLINE HRESULT D3D11CreateRenderTargetView(D3D11Device device, D3D11Resource resource, D3D11_RENDER_TARGET_VIEW_DESC *desc, D3D11RenderTargetView *rtview)
Definition: d3d11_common.h:1903
D3D11BlendState blend_disable
Definition: d3d11_common.h:2511
static INLINE BOOL D3D11GetBreakOnCategory(D3D11InfoQueue info_queue, D3D11_MESSAGE_CATEGORY category)
Definition: d3d11_common.h:2326
static INLINE HRESULT D3D11NegotiateCryptoSessionKeyExchange(D3D11VideoContext video_context, D3D11CryptoSession crypto_session, UINT data_size, void *data)
Definition: d3d11_common.h:1629
static INLINE UINT D3D11GetTexture3DEvictionPriority(D3D11Texture3D texture3d)
Definition: d3d11_common.h:118
static INLINE void D3D11SetDepthStencilState(D3D11DeviceContext device_context, D3D11DepthStencilState depth_stencil_state, UINT stencil_ref)
Definition: d3d11_common.h:443
interface ID3D11Debug ID3D11Debug
Definition: d3d11sdklayers.h:49
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: glext.h:6233
static INLINE APP_DEPRECATED_HRESULT D3D11VideoProcessorGetStreamExtension(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, GUID *extension_guid, UINT data_size, void *data)
Definition: d3d11_common.h:1607
GLint GLfloat GLint stencil
Definition: glext.h:6900
Definition: d3d11.h:4653
D3D11Buffer vbo
Definition: d3d11_common.h:2537
time_t time(time_t *timer)
static INLINE HRESULT D3D11GetVideoProcessorContentDesc(D3D11VideoProcessorEnumerator video_processor_enumerator, D3D11_VIDEO_PROCESSOR_CONTENT_DESC *content_desc)
Definition: d3d11_common.h:1072
static INLINE void D3D11CopyStructureCount(D3D11DeviceContext device_context, D3D11Buffer dst_buffer, UINT dst_aligned_byte_offset, D3D11UnorderedAccessView src_view)
Definition: d3d11_common.h:543
static INLINE HRESULT D3D11GetVideoDecoderConfigCount(D3D11VideoDevice video_device, D3D11_VIDEO_DECODER_DESC *desc, UINT *count)
Definition: d3d11_common.h:1823
static INLINE void D3D11DispatchIndirect(D3D11DeviceContext device_context, D3D11Buffer buffer_for_args, UINT aligned_byte_offset_for_args)
Definition: d3d11_common.h:487
Definition: d3d11_common.h:2432
static INLINE void D3D11GetVShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:731
static INLINE void D3D11VideoProcessorSetStreamFilter(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_FILTER filter, BOOL enable, int level)
Definition: d3d11_common.h:1458
GLenum src
Definition: glext.h:6980
Definition: d3d11.h:9757
static INLINE HRESULT D3D11CreateVertexShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11VertexShader *vertex_shader)
Definition: d3d11_common.h:1931
D3D11RasterizerState state
Definition: d3d11_common.h:2505
GLenum GLint GLuint mask
Definition: glext.h:6668
Definition: d3d11sdklayers.h:2074
D3D11SamplerStateRef sampler
Definition: d3d11_common.h:2446
GLint GLint GLint GLint GLint x
Definition: glext.h:6295
static INLINE void D3D11UpdateSubresource(D3D11DeviceContext device_context, D3D11Resource dst_resource, UINT dst_subresource, D3D11_BOX *dst_box, void *src_data, UINT src_row_pitch, UINT src_depth_pitch)
Definition: d3d11_common.h:530
static INLINE void D3D11SetCShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *const samplers)
Definition: d3d11_common.h:714
interface ID3D11VideoDecoder ID3D11VideoDecoder
Definition: d3d11.h:259
static INLINE HRESULT D3D11CreateTexture3D(D3D11Device device, D3D11_TEXTURE3D_DESC *desc, D3D11_SUBRESOURCE_DATA *initial_data, D3D11Texture3D *texture3d)
Definition: d3d11_common.h:1879
Definition: deflate.c:120
static INLINE void D3D11DrawInstanced(D3D11DeviceContext device_context, UINT vertex_count_per_instance, UINT instance_count, UINT start_vertex_location, UINT start_instance_location)
Definition: d3d11_common.h:322
static INLINE void D3D11GetGShaderConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:808
static INLINE void D3D11Begin(D3D11DeviceContext device_context, D3D11Asynchronous async)
Definition: d3d11_common.h:373
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glext.h:6293
static INLINE void D3D11StartSessionKeyRefresh(D3D11VideoContext video_context, D3D11CryptoSession crypto_session, UINT random_number_size, void *random_number)
Definition: d3d11_common.h:1664
static INLINE UINT D3D11GetRetrievalFilterStackSize(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2293
bool enable
Definition: d3d11_common.h:2529
interface ID3D11RenderTargetView ID3D11RenderTargetView
Definition: d3d11.h:126
static INLINE void D3D11VideoProcessorSetStreamPixelAspectRatio(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, DXGI_RATIONAL *source_aspect_ratio, DXGI_RATIONAL *destination_aspect_ratio)
Definition: d3d11_common.h:1411
Definition: d3d11.h:10438
description
Definition: setup.py:7
static INLINE void D3D11DrawIndexedInstanced(D3D11DeviceContext device_context, UINT index_count_per_instance, UINT instance_count, UINT start_index_location, INT base_vertex_location, UINT start_instance_location)
Definition: d3d11_common.h:310
static INLINE HRESULT D3D11CreateDeferredContext(D3D11Device device, UINT context_flags, D3D11DeviceContext *deferred_context)
Definition: d3d11_common.h:2050
static INLINE void D3D11SetTexture3DEvictionPriority(D3D11Texture3D texture3d, UINT eviction_priority)
Definition: d3d11_common.h:114
d3d11_texture_t feedback
Definition: d3d11_common.h:2577
static INLINE void D3D11GetPShader(D3D11DeviceContext device_context, D3D11PixelShader *pixel_shader, D3D11ClassInstance *class_instances, UINT *num_class_instances)
Definition: d3d11_common.h:749
static INLINE void D3D11VideoProcessorGetStreamDestRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled, RECT *rect)
Definition: d3d11_common.h:1519
static INLINE void D3D11SetIndexBuffer(D3D11DeviceContext device_context, D3D11Buffer index_buffer, DXGI_FORMAT format, UINT offset)
Definition: d3d11_common.h:305
static INLINE void D3D11VideoProcessorGetStreamAutoProcessingMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled)
Definition: d3d11_common.h:1587
static INLINE HRESULT D3D11CheckFeatureSupport(D3D11Device device, D3D11_FEATURE feature, void *feature_support_data, UINT feature_support_data_size)
Definition: d3d11_common.h:2092
Definition: d3d11.h:10364
static INLINE HRESULT D3D11CreateDepthStencilState(D3D11Device device, D3D11_DEPTH_STENCIL_DESC *depth_stencil_desc, D3D11DepthStencilState *depth_stencil_state)
Definition: d3d11_common.h:2016
interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView
Definition: d3d11.h:140
static INLINE void D3D11SetPShader(D3D11DeviceContext device_context, D3D11PixelShader pixel_shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:222
static INLINE void D3D11SetPShaderConstantBuffer(D3D11DeviceContext device_context, UINT slot, D3D11Buffer const constant_buffer)
Definition: d3d11_common.h:2656
D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE
Definition: d3d11.h:10421
static INLINE HRESULT D3D11GetStorageFilter(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter, SIZE_T *filter_byte_length)
Definition: d3d11_common.h:2232
Definition: d3d11.h:1106
static INLINE HRESULT D3D11SetSwapChain(D3D11Debug debug, IDXGISwapChain *swap_chain)
Definition: d3d11_common.h:2142
Definition: slang_reflection.h:85
static INLINE void D3D11GetRenderTargetsAndUnorderedAccessViews(D3D11DeviceContext device_context, UINT num_rtvs, D3D11RenderTargetView *render_target_views, D3D11DepthStencilView *depth_stencil_view, UINT uavstart_slot, UINT num_uavs, D3D11UnorderedAccessView *unordered_access_views)
Definition: d3d11_common.h:879
static INLINE HRESULT D3D11CreateCryptoSession(D3D11VideoDevice video_device, GUID *crypto_type, GUID *decoder_profile, GUID *key_exchange_type, D3D11CryptoSession *crypto_session)
Definition: d3d11_common.h:1762
GLfloat GLfloat GLfloat alpha
Definition: glext.h:6290
static INLINE UINT64 D3D11GetMessageCountLimit(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2223
D3D_FEATURE_LEVEL supportedFeatureLevel
Definition: d3d11_common.h:2503
ID3D11VertexShader * D3D11VertexShader
Definition: d3d11_common.h:36
float texcoord[2]
Definition: d3d11_common.h:2435
D3D11_RLDO_FLAGS
Definition: d3d11sdklayers.h:122
Definition: d3d11.h:10078
static INLINE void D3D11UnmapTexture2D(D3D11DeviceContext device_context, D3D11Texture2D texture, UINT subresource)
Definition: d3d11_common.h:2368
ID3D11ClassInstance * D3D11ClassInstance
Definition: d3d11_common.h:58
ID3D11Query * D3D11Query
Definition: d3d11_common.h:55
GLuint index
Definition: glext.h:6671
static INLINE void D3D11SetVertexBuffer(D3D11DeviceContext device_context, UINT slot, D3D11Buffer const vertex_buffer, UINT stride, UINT offset)
Definition: d3d11_common.h:2642
unsigned luts
Definition: video_shader_parse.h:156
static INLINE HRESULT D3D11SetPresentPerRenderOpDelay(D3D11Debug debug, UINT milliseconds)
Definition: d3d11_common.h:2134
static INLINE HRESULT D3D11SetExceptionMode(D3D11Device device, UINT raise_flags)
Definition: d3d11_common.h:2118
static INLINE void D3D11CopyResource(D3D11DeviceContext device_context, D3D11Resource dst_resource, D3D11Resource src_resource)
Definition: d3d11_common.h:525
static INLINE void D3D11VideoProcessorGetOutputBackgroundColor(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL *ycb_cr, D3D11_VIDEO_COLOR *color)
Definition: d3d11_common.h:1291
Definition: d3d11.h:2185
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
static INLINE void D3D11ClearState(D3D11DeviceContext device_context)
Definition: d3d11_common.h:1041
Definition: d3d11.h:6627
static INLINE HRESULT D3D11PushRetrievalFilter(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter)
Definition: d3d11_common.h:2285
static INLINE UINT D3D11GetPredicateDataSize(D3D11Predicate predicate)
Definition: d3d11_common.h:154
d3d11_texture_t rt
Definition: d3d11_common.h:2576
Definition: d3d11.h:3391
static INLINE void D3D11VideoProcessorSetStreamPalette(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, UINT count, UINT *entries)
Definition: d3d11_common.h:1401
ID3D11InfoQueue * D3D11InfoQueue
Definition: d3d11_common.h:76
static INLINE BOOL D3D11GetBreakOnID(D3D11InfoQueue info_queue, D3D11_MESSAGE_ID id)
Definition: d3d11_common.h:2335
static INLINE void D3D11SetVShaderConstantBuffer(D3D11DeviceContext device_context, UINT slot, D3D11Buffer const constant_buffer)
Definition: d3d11_common.h:2651
unsigned int BOOL
Definition: gctypes.h:51
static INLINE void D3D11SetBlendState(D3D11DeviceContext device_context, D3D11BlendState blend_state, FLOAT blend_factor[4], UINT sample_mask)
Definition: d3d11_common.h:435
static INLINE void D3D11VideoProcessorSetStreamFrameFormat(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_FRAME_FORMAT frame_format)
Definition: d3d11_common.h:1342
static INLINE HRESULT D3D11ConfigureAuthenticatedChannel(D3D11VideoContext video_context, D3D11AuthenticatedChannel channel, UINT input_size, void *input, D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output)
Definition: d3d11_common.h:1707
Definition: d3d11.h:4323
static INLINE void D3D11VideoProcessorGetOutputConstriction(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL *enabled, SIZE *size)
Definition: d3d11_common.h:1317
ID3D11UnorderedAccessView * D3D11UnorderedAccessView
Definition: d3d11_common.h:53
static INLINE void D3D11HSGetSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:945
Definition: d3d11.h:10976
static INLINE void D3D11SetPrimitiveTopology(D3D11DeviceContext device_context, D3D11_PRIMITIVE_TOPOLOGY topology)
Definition: d3d11_common.h:352
D3D11DeviceContext context
Definition: d3d11_common.h:2504
uint32_t UINT32
Definition: coretypes.h:10
const ID3D11ShaderResourceView * D3D11ShaderResourceViewRef
Definition: d3d11_common.h:26
bool resize_chain
Definition: d3d11_common.h:2520
std::string output
Definition: Config.FromFile.cpp:44
static INLINE HRESULT D3D11PushEmptyStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2241
Definition: d3d11.h:6289
Definition: video_driver.h:686
static INLINE HRESULT D3D11CreateCounter(D3D11Device device, D3D11_COUNTER_DESC *counter_desc, D3D11Counter *counter)
Definition: d3d11_common.h:2046
math_matrix_4x4 mvp_no_rot
Definition: d3d11_common.h:2514
Definition: ibxm.c:40
Definition: d3d11.h:10381
static INLINE void D3D11GetClassLinkage(D3D11ClassInstance class_instance, D3D11ClassLinkage *linkage)
Definition: d3d11_common.h:163
GLuint color
Definition: glext.h:6883
interface ID3D11VideoProcessor ID3D11VideoProcessor
Definition: d3d11.h:273
float4_t output_size
Definition: d3d11_common.h:2568
Definition: d3d11.h:5869
static INLINE HRESULT D3D11CreatePixelShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11PixelShader *pixel_shader)
Definition: d3d11_common.h:1967
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: glext.h:6293
D3D_PRIMITIVE_TOPOLOGY
Definition: d3dcommon.h:108
static INLINE void D3D11CopySubresourceRegion(D3D11DeviceContext device_context, D3D11Resource dst_resource, UINT dst_subresource, UINT dst_x, UINT dst_y, UINT dst_z, D3D11Resource src_resource, UINT src_subresource, D3D11_BOX *src_box)
Definition: d3d11_common.h:510
interface ID3D11VideoDevice ID3D11VideoDevice
Definition: d3d11.h:322
interface ID3D11Query ID3D11Query
Definition: d3d11.h:210
static INLINE void D3D11SetDShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *const shader_resource_views)
Definition: d3d11_common.h:651
static INLINE void D3D11UnmapBuffer(D3D11DeviceContext device_context, D3D11Buffer buffer, UINT subresource)
Definition: d3d11_common.h:2416
const GLuint * textures
Definition: glext.h:9001
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glext.h:7672
static INLINE void D3D11SetViewports(D3D11DeviceContext device_context, UINT num_viewports, D3D11_VIEWPORT *viewports)
Definition: d3d11_common.h:501
interface ID3D11DeviceContext ID3D11DeviceContext
Definition: d3d11.h:252
static INLINE void D3D11ClearUnorderedAccessViewUint(D3D11DeviceContext device_context, D3D11UnorderedAccessView unordered_access_view, UINT values[4])
Definition: d3d11_common.h:559
static INLINE void D3D11GetVideoDecoderOutputViewResource(D3D11VideoDecoderOutputView video_decoder_output_view, D3D11Resource *resource)
Definition: d3d11_common.h:1166
interface ID3D11Asynchronous ID3D11Asynchronous
Definition: d3d11.h:203
GLint GLint GLsizei width
Definition: glext.h:6293
static INLINE void D3D11SetGShaderResources(D3D11DeviceContext device_context, UINT start_slot, UINT num_views, D3D11ShaderResourceView *const shader_resource_views)
Definition: d3d11_common.h:395
static INLINE HRESULT D3D11CreateDomainShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11DomainShader *domain_shader)
Definition: d3d11_common.h:1987
static INLINE HRESULT D3D11SetShaderTrackingOptionsByType(D3D11TracingDevice tracing_device, UINT resource_type_flags, UINT options)
Definition: d3d11_common.h:2172
float scaling
Definition: d3d11_common.h:2463
static INLINE void D3D11GetShaderResourceViewResource(D3D11ShaderResourceView shader_resource_view, D3D11Resource *resource)
Definition: d3d11_common.h:126
static INLINE HRESULT D3D11CheckMultisampleQualityLevels(D3D11Device device, DXGI_FORMAT format, UINT sample_count, UINT *num_quality_levels)
Definition: d3d11_common.h:2066
Definition: d3d11.h:2547
Definition: glslang_tab.cpp:135
Definition: slang_process.h:74
D3D11_COUNTER_TYPE
Definition: d3d11.h:6618
static INLINE void D3D11VideoProcessorGetStreamPixelAspectRatio(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled, DXGI_RATIONAL *source_aspect_ratio, DXGI_RATIONAL *destination_aspect_ratio)
Definition: d3d11_common.h:1549
static INLINE void D3D11ClearRetrievalFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2272
static INLINE void D3D11VideoProcessorGetStreamAlpha(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL *enabled, FLOAT *alpha)
Definition: d3d11_common.h:1529
Definition: d3d11.h:9738
bool keep_aspect
Definition: d3d11_common.h:2521
interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView
Definition: d3d11.h:301
static INLINE HRESULT D3D11CreateVideoProcessorEnumerator(D3D11VideoDevice video_device, D3D11_VIDEO_PROCESSOR_CONTENT_DESC *desc, D3D11VideoProcessorEnumerator *enumerator)
Definition: d3d11_common.h:1801
Definition: d3d11.h:11218
Definition: glslang_tab.cpp:136
static INLINE void D3D11GetCShaderUnorderedAccessViews(D3D11DeviceContext device_context, UINT start_slot, UINT num_uavs, D3D11UnorderedAccessView *unordered_access_views)
Definition: d3d11_common.h:1006
D3D11_MESSAGE_CATEGORY
Definition: d3d11sdklayers.h:738
D3D11_VIDEO_DECODER_BUFFER_TYPE
Definition: d3d11.h:9711
Definition: d3d11.h:9690
static INLINE void D3D11HSGetConstantBuffers(D3D11DeviceContext device_context, UINT start_slot, UINT num_buffers, D3D11Buffer *constant_buffers)
Definition: d3d11_common.h:953
static INLINE void D3D11PopStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2254
Definition: query.c:81
static INLINE void D3D11SOSetTargets(D3D11DeviceContext device_context, UINT num_buffers, D3D11Buffer *const sotargets, UINT *offsets)
Definition: d3d11_common.h:450
ID3D11DomainShader * D3D11DomainShader
Definition: d3d11_common.h:37
static INLINE HRESULT D3D11CheckCounter(D3D11Device device, D3D11_COUNTER_DESC *desc, D3D11_COUNTER_TYPE *type, UINT *active_counters, LPSTR sz_name, UINT *name_length, LPSTR sz_units, UINT *units_length, LPSTR sz_description, UINT *description_length)
Definition: d3d11_common.h:2076
static INLINE void D3D11GetState(D3D11DeviceContext device_context, D3D11RasterizerState *rasterizer_state)
Definition: d3d11_common.h:913
ID3D11Debug * D3D11Debug
Definition: d3d11_common.h:73
static INLINE void D3D11VideoProcessorSetStreamAutoProcessingMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable)
Definition: d3d11_common.h:1449
static INLINE HRESULT D3D11SetShaderTrackingOptions(D3D11TracingDevice tracing_device, void *shader, UINT options)
Definition: d3d11_common.h:2179
static INLINE void D3D11GetPredication(D3D11DeviceContext device_context, D3D11Predicate *predicate, BOOL *predicate_value)
Definition: d3d11_common.h:848
static INLINE HRESULT D3D11CreateVideoDecoder(D3D11VideoDevice video_device, D3D11_VIDEO_DECODER_DESC *video_desc, D3D11_VIDEO_DECODER_CONFIG *config, D3D11VideoDecoder *decoder)
Definition: d3d11_common.h:1737
D3D11RenderTargetView rt_view
Definition: d3d11_common.h:2444
static INLINE HRESULT D3D11CreateClassLinkage(D3D11Device device, D3D11ClassLinkage *linkage)
Definition: d3d11_common.h:2007
static INLINE HRESULT D3D11GetAuthenticatedChannelCertificate(D3D11AuthenticatedChannel authenticated_channel, UINT certificate_size, BYTE *certificate)
Definition: d3d11_common.h:1132
static INLINE HRESULT D3D11GetEncryptionBltKey(D3D11VideoContext video_context, D3D11CryptoSession crypto_session, UINT key_size, void *readback_key)
Definition: d3d11_common.h:1678
static INLINE HRESULT D3D11GetVideoDecoderProfile(D3D11VideoDevice video_device, UINT index, GUID *decoder_profile)
Definition: d3d11_common.h:1813
static INLINE void D3D11SetCShader(D3D11DeviceContext device_context, D3D11ComputeShader compute_shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:705
static INLINE void D3D11VideoProcessorSetOutputStereoMode(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL enable)
Definition: d3d11_common.h:1267
interface ID3D11PixelShader ID3D11PixelShader
Definition: d3d11.h:175
interface ID3D11VideoProcessorEnumerator ID3D11VideoProcessorEnumerator
Definition: d3d11.h:266
#define GFX_MAX_SHADERS
Definition: video_shader_parse.h:30
static INLINE HRESULT D3D11SetMessageCountLimit(D3D11InfoQueue info_queue, UINT64 message_count_limit)
Definition: d3d11_common.h:2185
Definition: metal_common.m:516
static INLINE D3D_FEATURE_LEVEL D3D11GetFeatureLevel(D3D11Device device)
Definition: d3d11_common.h:2101
static INLINE HRESULT D3D11CreateUnorderedAccessView(D3D11Device device, D3D11Resource resource, D3D11_UNORDERED_ACCESS_VIEW_DESC *desc, D3D11UnorderedAccessView *uaview)
Definition: d3d11_common.h:1895
static INLINE void D3D11SetResourceMinLOD(D3D11DeviceContext device_context, D3D11Resource resource, FLOAT min_lod)
Definition: d3d11_common.h:591
Definition: d3d11.h:1812
Definition: d3d11_common.h:2450
GLsizei const GLuint const GLintptr const GLsizei * strides
Definition: glsym_gl.h:638
interface ID3D11VideoDecoderOutputView ID3D11VideoDecoderOutputView
Definition: d3d11.h:294
ID3D11BlendState * D3D11BlendState
Definition: d3d11_common.h:33
static INLINE void D3D11GetTypeName(D3D11ClassInstance class_instance, LPSTR type_name, SIZE_T *buffer_length)
Definition: d3d11_common.h:173
static INLINE HRESULT D3D11CreateAuthenticatedChannel(D3D11VideoDevice video_device, D3D11_AUTHENTICATED_CHANNEL_TYPE channel_type, D3D11AuthenticatedChannel *authenticated_channel)
Definition: d3d11_common.h:1754
struct video_shader * shader_preset
Definition: d3d11_common.h:2583
GLsizei stride
Definition: glext.h:6488
static INLINE HRESULT D3D11CreateComputeShader(D3D11Device device, void *shader_bytecode, SIZE_T bytecode_length, D3D11ClassLinkage class_linkage, D3D11ComputeShader *compute_shader)
Definition: d3d11_common.h:1997
interface ID3D11Predicate ID3D11Predicate
Definition: d3d11.h:217
interface ID3D11ClassInstance ID3D11ClassInstance
Definition: d3d11.h:231
static INLINE HRESULT D3D11CreateTexture1D(D3D11Device device, D3D11_TEXTURE1D_DESC *desc, D3D11_SUBRESOURCE_DATA *initial_data, D3D11Texture1D *texture1d)
Definition: d3d11_common.h:1863
interface ID3D11HullShader ID3D11HullShader
Definition: d3d11.h:154
static INLINE HRESULT D3D11CreateTexture2DShaderResourceView(D3D11Device device, D3D11Texture2D texture, D3D11_SHADER_RESOURCE_VIEW_DESC *desc, D3D11ShaderResourceView *srview)
Definition: d3d11_common.h:2395
static INLINE void D3D11SetTexture2DEvictionPriority(D3D11Texture2D texture2d, UINT eviction_priority)
Definition: d3d11_common.h:105
static INLINE void D3D11SetVShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *const samplers)
Definition: d3d11_common.h:365
static INLINE HRESULT D3D11GetCryptoSessionCertificateSize(D3D11CryptoSession crypto_session, UINT *certificate_size)
Definition: d3d11_common.h:1152
static INLINE UINT D3D11GetExceptionMode(D3D11Device device)
Definition: d3d11_common.h:2122
static INLINE void D3D11GetGShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *samplers)
Definition: d3d11_common.h:862
uint32_t frame_count
Definition: d3d11_common.h:2580
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6742
static INLINE void D3D11End(D3D11DeviceContext device_context, D3D11Asynchronous async)
Definition: d3d11_common.h:377
D3D11ShaderResourceView view
Definition: d3d11_common.h:2445
static INLINE void D3D11EncryptionBlt(D3D11VideoContext video_context, D3D11CryptoSession crypto_session, D3D11Texture2D src_surface, D3D11Texture2D dst_surface, UINT ivsize, void *iv)
Definition: d3d11_common.h:1638
D3D11Buffer ubo
Definition: d3d11_common.h:2507
D3D11_MAP
Definition: d3d11.h:1257
ID3D11ShaderResourceView * D3D11ShaderResourceView
Definition: d3d11_common.h:50
static INLINE void D3D11SetRenderTargets(D3D11DeviceContext device_context, UINT num_views, D3D11RenderTargetView *const render_target_views, D3D11DepthStencilView depth_stencil_view)
Definition: d3d11_common.h:412
static INLINE void D3D11VideoProcessorGetStreamFilter(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, D3D11_VIDEO_PROCESSOR_FILTER filter, BOOL *enabled, int *level)
Definition: d3d11_common.h:1596
d3d11_uniform_t ubo_values
Definition: d3d11_common.h:2508
static INLINE UINT D3D11GetCommandListContextFlags(D3D11CommandList command_list)
Definition: d3d11_common.h:199
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:8390
static INLINE void D3D11GetRateConversionCaps(D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *caps)
Definition: d3d11_common.h:1121
static INLINE void D3D11HSSetSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *const samplers)
Definition: d3d11_common.h:634
D3D11_MESSAGE_ID
Definition: d3d11sdklayers.h:764
ID3D11ComputeShader * D3D11ComputeShader
Definition: d3d11_common.h:39
Definition: video4linux2.c:51
bool vsync
Definition: d3d11_common.h:2519
GLintptr offset
Definition: glext.h:6560
ID3D11AuthenticatedChannel * D3D11AuthenticatedChannel
Definition: d3d11_common.h:65
ID3D11TracingDevice * D3D11TracingDevice
Definition: d3d11_common.h:75
ID3D11VideoDecoderOutputView * D3D11VideoDecoderOutputView
Definition: d3d11_common.h:67
static INLINE void D3D11VideoProcessorSetStreamStereoFormat(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, UINT stream_index, BOOL enable, D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format, BOOL left_view_frame0, BOOL base_view_frame0, D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode, int mono_offset)
Definition: d3d11_common.h:1434
d3d11_uniform_t
Definition: d3d11_common.h:2485
static INLINE void D3D11DrawInstancedIndirect(D3D11DeviceContext device_context, D3D11Buffer buffer_for_args, UINT aligned_byte_offset_for_args)
Definition: d3d11_common.h:470
GLbitfield flags
Definition: glext.h:7828
static INLINE HRESULT D3D11MapTexture2D(D3D11DeviceContext device_context, D3D11Texture2D texture, UINT subresource, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_resource)
Definition: d3d11_common.h:2356
static INLINE void D3D11GetVideoProcessorInputViewResource(D3D11VideoProcessorInputView video_processor_input_view, D3D11Resource *resource)
Definition: d3d11_common.h:1171
static INLINE APP_DEPRECATED_HRESULT D3D11VideoProcessorGetOutputExtension(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, GUID *extension_guid, UINT data_size, void *data)
Definition: d3d11_common.h:1332
static INLINE void D3D11SetTexture1DEvictionPriority(D3D11Texture1D texture1d, UINT eviction_priority)
Definition: d3d11_common.h:96
static bool format_support(const drmModePlanePtr ovr, uint32_t fmt)
Definition: drm_gfx.c:393
Definition: d3d11.h:9731
static INLINE void D3D11ClearRenderTargetView(D3D11DeviceContext device_context, D3D11RenderTargetView render_target_view, FLOAT color_rgba[4])
Definition: d3d11_common.h:552
struct d3d11_vertex_t d3d11_vertex_t
D3D11BlendState blend_enable
Definition: d3d11_common.h:2510
static INLINE HRESULT DXGIGetSwapChainBufferD3D11(DXGISwapChain swap_chain, UINT buffer, D3D11Texture2D *out)
Definition: d3d11_common.h:2351
bool fullscreen
Definition: d3d11_common.h:2559
static INLINE HRESULT D3D11CreateQuery(D3D11Device device, D3D11_QUERY_DESC *query_desc, D3D11Query *query)
Definition: d3d11_common.h:2036
static INLINE HRESULT D3D11MapBuffer(D3D11DeviceContext device_context, D3D11Buffer buffer, UINT subresource, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_resource)
Definition: d3d11_common.h:2404
static INLINE void D3D11SetGShader(D3D11DeviceContext device_context, D3D11GeometryShader shader, D3D11ClassInstance *const class_instances, UINT num_class_instances)
Definition: d3d11_common.h:342
Definition: d3d11.h:2192
Definition: d3d11_common.h:2498
static INLINE void D3D11ClearUnorderedAccessViewFloat(D3D11DeviceContext device_context, D3D11UnorderedAccessView unordered_access_view, FLOAT values[4])
Definition: d3d11_common.h:567
Definition: d3d11.h:9682
Definition: d3d11.h:6654
static INLINE HRESULT D3D11PushCopyOfStorageFilter(D3D11InfoQueue info_queue)
Definition: d3d11_common.h:2245
static INLINE HRESULT D3D11CreateDepthStencilView(D3D11Device device, D3D11Resource resource, D3D11_DEPTH_STENCIL_VIEW_DESC *desc, D3D11DepthStencilView *depth_stencil_view)
Definition: d3d11_common.h:1911
struct nk_device device
Definition: nk_common.c:44
static INLINE HRESULT D3D11GetData(D3D11DeviceContext device_context, D3D11Asynchronous async, void *data, UINT data_size, UINT get_data_flags)
Definition: d3d11_common.h:381
float rotation
Definition: d3d11_common.h:2464
IDXGISwapChain3 * DXGISwapChain
Definition: dxgi_common.h:282
interface ID3D11Counter ID3D11Counter
Definition: d3d11.h:224
interface ID3D11DomainShader ID3D11DomainShader
Definition: d3d11.h:161
static INLINE HRESULT D3D11DecoderEndFrame(D3D11VideoContext video_context, D3D11VideoDecoder decoder)
Definition: d3d11_common.h:1209
unsigned int uint32_t
Definition: stdint.h:126
bf_uint8_t options
Definition: connect_ps4.c:78
static INLINE HRESULT D3D11SetBreakOnCategory(D3D11InfoQueue info_queue, D3D11_MESSAGE_CATEGORY category, BOOL enable)
Definition: d3d11_common.h:2312
void d3d11_update_texture(D3D11DeviceContext ctx, unsigned width, unsigned height, unsigned pitch, DXGI_FORMAT format, const void *data, d3d11_texture_t *texture)
Definition: d3d11_common.c:161
interface ID3D11SwitchToRef ID3D11SwitchToRef
Definition: d3d11sdklayers.h:56
static INLINE void D3D11GetPrimitiveTopology(D3D11DeviceContext device_context, D3D11_PRIMITIVE_TOPOLOGY *topology)
Definition: d3d11_common.h:827
static INLINE UINT D3D11GetResourceEvictionPriority(D3D11Resource resource)
Definition: d3d11_common.h:83
static INLINE void D3D11GetContentDesc(D3D11VideoProcessor video_processor, D3D11_VIDEO_PROCESSOR_CONTENT_DESC *desc)
Definition: d3d11_common.h:1117
static INLINE HRESULT D3D11CreateTexture2DRenderTargetView(D3D11Device device, D3D11Texture2D texture, D3D11_RENDER_TARGET_VIEW_DESC *desc, D3D11RenderTargetView *rtview)
Definition: d3d11_common.h:2387
interface ID3D11View ID3D11View
Definition: d3d11.h:112
Definition: d3d11_common.h:2439
D3D11Device device
Definition: d3d11_common.h:2502
interface ID3D11TracingDevice ID3D11TracingDevice
Definition: d3d11sdklayers.h:63
ID3D11Counter * D3D11Counter
Definition: d3d11_common.h:57
GLint GLint GLsizei GLsizei height
Definition: glext.h:6293
static INLINE HRESULT D3D11GetVideoProcessorCustomRate(D3D11VideoProcessorEnumerator video_processor_enumerator, UINT type_index, UINT custom_rate_index, D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *rate)
Definition: d3d11_common.h:1099
static INLINE void D3D11ResolveSubresource(D3D11DeviceContext device_context, D3D11Resource dst_resource, UINT dst_subresource, D3D11Resource src_resource, UINT src_subresource, DXGI_FORMAT format)
Definition: d3d11_common.h:600
D3D11_VIDEO_PROCESSOR_FILTER
Definition: d3d11.h:10086
HRESULT APP_DEPRECATED_HRESULT
Definition: d3d11.h:9646
ID3D11View * D3D11View
Definition: d3d11_common.h:49
D3D11_VIEWPORT viewport
Definition: d3d11_common.h:2516
static INLINE HRESULT D3D11CreateClassInstance(D3D11ClassLinkage class_linkage, LPCSTR class_type_name, UINT constant_buffer_offset, UINT constant_vector_offset, UINT texture_offset, UINT sampler_offset, D3D11ClassInstance *instance)
Definition: d3d11_common.h:186
static INLINE void D3D11DecryptionBlt(D3D11VideoContext video_context, D3D11CryptoSession crypto_session, D3D11Texture2D src_surface, D3D11Texture2D dst_surface, D3D11_ENCRYPTED_BLOCK_INFO *encrypted_block_info, UINT content_key_size, void *content_key, UINT ivsize, void *iv)
Definition: d3d11_common.h:1649
static INLINE HRESULT D3D11SubmitDecoderBuffers(D3D11VideoContext video_context, D3D11VideoDecoder decoder, UINT num_buffers, D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc)
Definition: d3d11_common.h:1213
struct d3d11_shader_t d3d11_shader_t
static INLINE HRESULT D3D11GetRetrievalFilter(D3D11InfoQueue info_queue, D3D11_INFO_QUEUE_FILTER *filter, SIZE_T *filter_byte_length)
Definition: d3d11_common.h:2267
static INLINE void d3d11_release_shader(d3d11_shader_t *shader)
Definition: d3d11_common.h:2620
static INLINE void D3D11VideoProcessorGetOutputTargetRect(D3D11VideoContext video_context, D3D11VideoProcessor video_processor, BOOL *enabled, RECT *rect)
Definition: d3d11_common.h:1282
uint8_t UINT8
Definition: coretypes.h:12
static INLINE void D3D11SetGShaderSamplers(D3D11DeviceContext device_context, UINT start_slot, UINT num_samplers, D3D11SamplerState *const samplers)
Definition: d3d11_common.h:404
ID3D11VideoProcessorInputView * D3D11VideoProcessorInputView
Definition: d3d11_common.h:68