• Home
Name Date Size #Lines LOC

..--

cl/06-Sep-2024-3,3052,608

d3d/06-Sep-2024-100,06177,559

gl/06-Sep-2024-56,73046,202

metal/06-Sep-2024-55,47445,985

null/06-Sep-2024-3,4972,511

vulkan/06-Sep-2024-158,177126,539

wgpu/06-Sep-2024-5,6444,221

BufferImpl.cppD06-Sep-20241.2 KiB4026

BufferImpl.hD06-Sep-20244 KiB9972

BufferImpl_mock.hD06-Sep-20242 KiB6245

CLCommandQueueImpl.cppD06-Sep-2024512 208

CLCommandQueueImpl.hD06-Sep-202412.2 KiB216174

CLContextImpl.cppD06-Sep-2024453 186

CLContextImpl.hD06-Sep-20243.9 KiB9062

CLDeviceImpl.cppD06-Sep-2024742 3012

CLDeviceImpl.hD06-Sep-20243.2 KiB8965

CLEventImpl.cppD06-Sep-2024431 186

CLEventImpl.hD06-Sep-20241.2 KiB4324

CLExtensions.cppD06-Sep-20241.8 KiB5333

CLExtensions.hD06-Sep-20242.2 KiB6034

CLKernelImpl.cppD06-Sep-20241.1 KiB4218

CLKernelImpl.hD06-Sep-20242.6 KiB9765

CLMemoryImpl.cppD06-Sep-2024442 186

CLMemoryImpl.hD06-Sep-2024936 3620

CLPlatformImpl.cppD06-Sep-2024670 2610

CLPlatformImpl.hD06-Sep-20242 KiB6944

CLProgramImpl.cppD06-Sep-2024453 186

CLProgramImpl.hD06-Sep-20242.1 KiB6039

CLSamplerImpl.cppD06-Sep-2024453 186

CLSamplerImpl.hD06-Sep-2024683 3116

CompilerImpl.hD06-Sep-2024817 3316

ContextImpl.cppD06-Sep-20243.4 KiB11486

ContextImpl.hD06-Sep-202416.1 KiB304226

DeviceImpl.cppD06-Sep-2024483 2511

DeviceImpl.hD06-Sep-20241 KiB4326

DisplayImpl.cppD06-Sep-20243.9 KiB151120

DisplayImpl.hD06-Sep-20245.2 KiB151109

EGLImplFactory.hD06-Sep-20243.4 KiB10478

EGLReusableSync.cppD06-Sep-20243.2 KiB11893

EGLReusableSync.hD06-Sep-20241.6 KiB5637

EGLSyncImpl.cppD06-Sep-2024882 3822

EGLSyncImpl.hD06-Sep-20241.9 KiB6042

FenceNVImpl.hD06-Sep-2024985 3923

Format.hD06-Sep-20248.1 KiB245186

FormatID_autogen.hD06-Sep-20246.2 KiB275259

Format_table_autogen.cppD06-Sep-202493 KiB777757

FramebufferAttachmentObjectImpl.hD06-Sep-20242 KiB6645

FramebufferImpl.cppD06-Sep-20241.4 KiB5941

FramebufferImpl.hD06-Sep-20245.4 KiB12996

FramebufferImpl_mock.hD06-Sep-20243.1 KiB8354

GLImplFactory.hD06-Sep-20243.4 KiB12174

ImageImpl.cppD06-Sep-2024703 3621

ImageImpl.hD06-Sep-20242 KiB7049

ImageImpl_mock.hD06-Sep-2024830 3017

MemoryObjectImpl.hD06-Sep-20241.4 KiB4831

OverlayImpl.hD06-Sep-2024905 4326

ProgramExecutableImpl.hD06-Sep-20245.2 KiB10178

ProgramImpl.cppD06-Sep-20241,023 3726

ProgramImpl.hD06-Sep-20244.7 KiB12269

ProgramImpl_mock.hD06-Sep-20244 KiB8861

ProgramPipelineImpl.cppD06-Sep-2024750 2714

ProgramPipelineImpl.hD06-Sep-20241.2 KiB4123

QueryImpl.cppD06-Sep-2024483 229

QueryImpl.hD06-Sep-20241.6 KiB5032

README.mdD06-Sep-20241.7 KiB3827

RenderTargetCache.hD06-Sep-20246.9 KiB187144

RenderbufferImpl.cppD06-Sep-2024451 208

RenderbufferImpl.hD06-Sep-20247.1 KiB165135

RenderbufferImpl_mock.hD06-Sep-20241.6 KiB5234

SamplerImpl.hD06-Sep-20241 KiB4527

SemaphoreImpl.hD06-Sep-20241.5 KiB5132

ShaderImpl.cppD06-Sep-2024844 3118

ShaderImpl.hD06-Sep-20242.9 KiB8040

ShareGroupImpl.hD06-Sep-2024885 4226

StreamProducerImpl.hD06-Sep-20241.6 KiB4118

SurfaceImpl.cppD06-Sep-20243.8 KiB159124

SurfaceImpl.hD06-Sep-20245.7 KiB13797

SyncImpl.hD06-Sep-20241.3 KiB4629

TextureImpl.cppD06-Sep-20247.4 KiB201170

TextureImpl.hD06-Sep-202412.6 KiB261213

TextureImpl_mock.hD06-Sep-20246 KiB148128

TransformFeedbackImpl.cppD06-Sep-2024471 208

TransformFeedbackImpl.hD06-Sep-20241.4 KiB4326

TransformFeedbackImpl_mock.hD06-Sep-20241.3 KiB4225

VertexArrayImpl.cppD06-Sep-2024448 198

VertexArrayImpl.hD06-Sep-20242.6 KiB7146

angle_format.pyD06-Sep-202410.8 KiB315236

angle_format_data.jsonD06-Sep-20246.4 KiB305304

angle_format_map.jsonD06-Sep-202413 KiB245244

cl_types.hD06-Sep-2024699 3318

copyvertex.hD06-Sep-20243.1 KiB8154

copyvertex.inc.hD06-Sep-202422.7 KiB636530

d3d_format.cppD06-Sep-20246 KiB207186

d3d_format.hD06-Sep-20241.4 KiB5939

driver_utils.cppD06-Sep-202412.9 KiB431324

driver_utils.hD06-Sep-20246 KiB234175

driver_utils_ios.mmD06-Sep-2024761 2920

driver_utils_mac.mmD06-Sep-2024803 3022

dxgi_format_data.jsonD06-Sep-20243 KiB119118

dxgi_format_map.hD06-Sep-2024647 2815

dxgi_format_map_autogen.cppD06-Sep-202418 KiB517495

dxgi_support_data.jsonD06-Sep-202432.4 KiB1,2801,279

dxgi_support_table.hD06-Sep-20241.2 KiB4423

dxgi_support_table_autogen.cppD06-Sep-2024109.5 KiB3,0433,000

gen_angle_format_table.pyD06-Sep-202414.2 KiB457336

gen_dxgi_format_table.pyD06-Sep-20243.8 KiB161112

gen_dxgi_support_tables.pyD06-Sep-202411.5 KiB343274

gen_load_functions_table.pyD06-Sep-20247.6 KiB233168

load_functions_data.jsonD06-Sep-202434.2 KiB1,3741,372

load_functions_table.hD06-Sep-2024601 218

load_functions_table_autogen.cppD06-Sep-2024161.7 KiB5,6125,277

renderer_utils.cppD06-Sep-202473.7 KiB1,8851,549

renderer_utils.hD06-Sep-202422.2 KiB564452

serial_utils.hD06-Sep-202410.2 KiB325254

serial_utils_unittest.cppD06-Sep-2024574 3115

README.md

1# ANGLE back-ends
2
3This folder contains shared back-end-specific implementation files. The classes
4and types in `renderer` are not specified by GLES. They instead are common to
5all the various ANGLE implementations.
6
7See [`renderer_utils.h`](renderer_utils.h) for various cross back-end utilties.
8
9## ANGLE Formats
10
11The ANGLE format class, [`angle::Format`][ANGLEFormatDef], works as a union
12between GLES and all the various back-end formats. It can represent any type
13of format in ANGLE. e.g. Formats in Vulkan that don't exist in GLES, or DXGI
14formats that don't exist in GLES, or Windows/Android surface configs that
15don't exist anywhere else.
16
17The `glInternalFormat` member of `angle::Format` represents the "closest" GL
18format for an ANGLE format. For formats that don't exist in GLES this will
19not be exactly what the format represents.
20
21The back-ends also define their own format tables. See the
22[Vulkan Format table docs][VulkanFormatDocs] and the
23[D3D11 format table docs][D23D11FormatDocs].
24
25## DXGI Format Info
26
27DXGI formats are used in both the GL and D3D11 back-end. Therefore the
28generated info table lives in this common shared location.
29
30The DXGI info table is generated by [`gen_dxgi_format_table.py`](gen_dxgi_format_table.py)
31and sources data from [`dxgi_format_data.json`](dxgi_format_data.json). The
32main purpose of the table is to convert from a DXGI format to an ANGLE
33format, where the ANGLE format should have all the necessary information.
34
35[ANGLEFormatDef]: https://chromium.googlesource.com/angle/angle/+/f85ec039a7dcfde3b4a8d9ddfa8baa84ae5ce927/src/libANGLE/renderer/Format.h#24
36[VulkanFormatDocs]: vulkan/doc/FormatTablesAndEmulation.md
37[D3D11FormatDocs]: d3d/d3d11/FormatTables.md
38