• Home
Name Date Size #Lines LOC

..--

cl/04-Jul-2025-3,3012,606

d3d/04-Jul-2025-99,30877,079

gl/04-Jul-2025-54,82244,739

metal/04-Jul-2025-53,47345,423

null/04-Jul-2025-3,5122,524

vulkan/04-Jul-2025-170,773136,786

wgpu/04-Jul-2025-15,00811,893

BufferImpl.cppD04-Jul-20251.3 KiB4127

BufferImpl.hD04-Jul-20254.1 KiB10174

BufferImpl_mock.hD04-Jul-20252 KiB6245

CLCommandQueueImpl.cppD04-Jul-2025512 208

CLCommandQueueImpl.hD04-Jul-202512.2 KiB216174

CLContextImpl.cppD04-Jul-2025453 186

CLContextImpl.hD04-Jul-20253.7 KiB8759

CLDeviceImpl.cppD04-Jul-2025742 3012

CLDeviceImpl.hD04-Jul-20253.2 KiB8965

CLEventImpl.cppD04-Jul-2025431 186

CLEventImpl.hD04-Jul-20251.3 KiB4525

CLExtensions.cppD04-Jul-20252.3 KiB7348

CLExtensions.hD04-Jul-20252.3 KiB6135

CLKernelImpl.cppD04-Jul-20251.1 KiB4218

CLKernelImpl.hD04-Jul-20252.6 KiB9765

CLMemoryImpl.cppD04-Jul-2025442 186

CLMemoryImpl.hD04-Jul-2025936 3620

CLPlatformImpl.cppD04-Jul-2025670 2610

CLPlatformImpl.hD04-Jul-20252 KiB6944

CLProgramImpl.cppD04-Jul-2025453 186

CLProgramImpl.hD04-Jul-20252.1 KiB6039

CLSamplerImpl.cppD04-Jul-2025453 186

CLSamplerImpl.hD04-Jul-2025683 3116

CompilerImpl.hD04-Jul-2025817 3316

ContextImpl.cppD04-Jul-20252.9 KiB10779

ContextImpl.hD04-Jul-202515.5 KiB293223

DeviceImpl.cppD04-Jul-2025483 2511

DeviceImpl.hD04-Jul-20251 KiB4326

DisplayImpl.cppD04-Jul-20254.4 KiB161129

DisplayImpl.hD04-Jul-20255.5 KiB158115

EGLImplFactory.hD04-Jul-20253.4 KiB10478

EGLReusableSync.cppD04-Jul-20253.2 KiB11893

EGLReusableSync.hD04-Jul-20251.6 KiB5637

EGLSyncImpl.cppD04-Jul-2025903 3822

EGLSyncImpl.hD04-Jul-20251.9 KiB6042

FenceNVImpl.hD04-Jul-2025985 3923

Format.hD04-Jul-20258.7 KiB257197

FormatID_autogen.hD04-Jul-20256.3 KiB276260

Format_table_autogen.cppD04-Jul-202598.8 KiB973937

FramebufferAttachmentObjectImpl.hD04-Jul-20252 KiB6645

FramebufferImpl.cppD04-Jul-20251.4 KiB5941

FramebufferImpl.hD04-Jul-20255.4 KiB12996

FramebufferImpl_mock.hD04-Jul-20253.1 KiB8354

GLImplFactory.hD04-Jul-20253.4 KiB12174

ImageImpl.cppD04-Jul-2025822 4226

ImageImpl.hD04-Jul-20252 KiB7250

ImageImpl_mock.hD04-Jul-2025830 3017

MemoryObjectImpl.hD04-Jul-20251.4 KiB4831

OverlayImpl.hD04-Jul-2025905 4326

ProgramExecutableImpl.hD04-Jul-20255.2 KiB10178

ProgramImpl.cppD04-Jul-20251,023 3726

ProgramImpl.hD04-Jul-20254.7 KiB12269

ProgramImpl_mock.hD04-Jul-20254 KiB8861

ProgramPipelineImpl.cppD04-Jul-2025750 2714

ProgramPipelineImpl.hD04-Jul-20251.2 KiB4123

QueryImpl.cppD04-Jul-2025483 229

QueryImpl.hD04-Jul-20251.6 KiB5032

README.mdD04-Jul-20251.7 KiB3827

RenderTargetCache.hD04-Jul-20257.2 KiB196152

RenderbufferImpl.cppD04-Jul-2025451 208

RenderbufferImpl.hD04-Jul-20257.1 KiB165135

RenderbufferImpl_mock.hD04-Jul-20251.6 KiB5234

SamplerImpl.hD04-Jul-20251 KiB4527

SemaphoreImpl.hD04-Jul-20251.5 KiB5132

ShaderImpl.cppD04-Jul-2025844 3118

ShaderImpl.hD04-Jul-20253.2 KiB8743

ShareGroupImpl.hD04-Jul-2025885 4226

StreamProducerImpl.hD04-Jul-20251.6 KiB4118

SurfaceImpl.cppD04-Jul-20254.9 KiB193153

SurfaceImpl.hD04-Jul-20255.7 KiB143101

SyncImpl.hD04-Jul-20251.3 KiB4629

TextureImpl.cppD04-Jul-20259 KiB248212

TextureImpl.hD04-Jul-202514 KiB286235

TextureImpl_mock.hD04-Jul-20256 KiB148128

TransformFeedbackImpl.cppD04-Jul-2025471 208

TransformFeedbackImpl.hD04-Jul-20251.4 KiB4326

TransformFeedbackImpl_mock.hD04-Jul-20251.3 KiB4225

VertexArrayImpl.cppD04-Jul-2025448 198

VertexArrayImpl.hD04-Jul-20252.6 KiB7146

angle_cl_format_map.jsonD04-Jul-20253.2 KiB234234

angle_format.pyD04-Jul-202510.7 KiB315236

angle_format_data.jsonD04-Jul-20256.4 KiB305304

angle_format_map.jsonD04-Jul-202513.1 KiB247246

cl_types.hD04-Jul-2025699 3318

copyvertex.hD04-Jul-20253.1 KiB8154

copyvertex.inc.hD04-Jul-202522.7 KiB636530

d3d_format.cppD04-Jul-20256.1 KiB212191

d3d_format.hD04-Jul-20251.4 KiB5939

driver_utils.cppD04-Jul-202511.4 KiB391296

driver_utils.hD04-Jul-20255.8 KiB221164

driver_utils_ios.mmD04-Jul-2025761 2920

driver_utils_mac.mmD04-Jul-2025803 3022

dxgi_format_data.jsonD04-Jul-20253 KiB119118

dxgi_format_map.hD04-Jul-2025647 2815

dxgi_format_map_autogen.cppD04-Jul-202518 KiB517495

dxgi_support_data.jsonD04-Jul-202532.4 KiB1,2801,279

dxgi_support_table.hD04-Jul-20251.2 KiB4423

dxgi_support_table_autogen.cppD04-Jul-2025109.5 KiB3,0433,000

gen_angle_format_table.pyD04-Jul-202517.3 KiB562428

gen_dxgi_format_table.pyD04-Jul-20253.8 KiB161112

gen_dxgi_support_tables.pyD04-Jul-202511.5 KiB343274

gen_load_functions_table.pyD04-Jul-20257.6 KiB233168

load_functions_data.jsonD04-Jul-202534.8 KiB1,3951,393

load_functions_table.hD04-Jul-2025601 218

load_functions_table_autogen.cppD04-Jul-2025164.4 KiB5,6995,359

renderer_utils.cppD04-Jul-202584.3 KiB2,1271,756

renderer_utils.hD04-Jul-202525.3 KiB654523

serial_utils.hD04-Jul-202510.2 KiB325254

serial_utils_unittest.cppD04-Jul-2025574 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