• Home
Name Date Size #Lines LOC

..--

cl/03-May-2024-3,2312,555

d3d/03-May-2024-99,20776,794

gl/03-May-2024-56,72346,223

metal/03-May-2024-90,89981,637

null/03-May-2024-3,4182,458

vulkan/03-May-2024-145,274116,265

BufferImpl.cppD03-May-20241.2 KiB4026

BufferImpl.hD03-May-20244 KiB9972

BufferImpl_mock.hD03-May-20242 KiB6245

CLCommandQueueImpl.cppD03-May-2024512 208

CLCommandQueueImpl.hD03-May-202411.1 KiB219177

CLContextImpl.cppD03-May-2024453 186

CLContextImpl.hD03-May-20243.9 KiB9062

CLDeviceImpl.cppD03-May-2024742 3012

CLDeviceImpl.hD03-May-20243.2 KiB8965

CLEventImpl.cppD03-May-2024431 186

CLEventImpl.hD03-May-20241.2 KiB4324

CLExtensions.cppD03-May-20241.8 KiB5333

CLExtensions.hD03-May-20242.2 KiB6034

CLKernelImpl.cppD03-May-20241.1 KiB4218

CLKernelImpl.hD03-May-20242.5 KiB9765

CLMemoryImpl.cppD03-May-2024442 186

CLMemoryImpl.hD03-May-2024995 3821

CLPlatformImpl.cppD03-May-2024670 2610

CLPlatformImpl.hD03-May-20242 KiB6944

CLProgramImpl.cppD03-May-2024453 186

CLProgramImpl.hD03-May-20242 KiB6240

CLSamplerImpl.cppD03-May-2024453 186

CLSamplerImpl.hD03-May-2024682 3116

CLtypes.hD03-May-2024697 3318

CompilerImpl.hD03-May-2024817 3316

ContextImpl.cppD03-May-20243.4 KiB11486

ContextImpl.hD03-May-202416.1 KiB299222

DeviceImpl.cppD03-May-2024483 2511

DeviceImpl.hD03-May-20241.1 KiB4427

DisplayImpl.cppD03-May-20244 KiB166133

DisplayImpl.hD03-May-20245.2 KiB153111

EGLImplFactory.hD03-May-20243.5 KiB10478

EGLReusableSync.cppD03-May-20243.1 KiB11792

EGLReusableSync.hD03-May-20241.6 KiB5536

EGLSyncImpl.cppD03-May-2024882 3822

EGLSyncImpl.hD03-May-20241.8 KiB5840

FenceNVImpl.hD03-May-2024985 3923

Format.hD03-May-20248.1 KiB245186

FormatID_autogen.hD03-May-20246.1 KiB265249

Format_table_autogen.cppD03-May-202490.6 KiB763743

FramebufferAttachmentObjectImpl.hD03-May-20242 KiB6645

FramebufferImpl.cppD03-May-2024448 198

FramebufferImpl.hD03-May-20245.1 KiB12492

FramebufferImpl_mock.hD03-May-20243.1 KiB8354

GLImplFactory.hD03-May-20243.2 KiB11770

ImageImpl.cppD03-May-2024703 3621

ImageImpl.hD03-May-20242 KiB7049

ImageImpl_mock.hD03-May-2024830 3017

MemoryObjectImpl.hD03-May-20241.4 KiB4831

OverlayImpl.hD03-May-2024905 4326

ProgramImpl.cppD03-May-2024432 198

ProgramImpl.hD03-May-20247.6 KiB177133

ProgramImpl_mock.hD03-May-20244 KiB8861

ProgramPipelineImpl.cppD03-May-2024750 2714

ProgramPipelineImpl.hD03-May-20241.6 KiB5231

QueryImpl.cppD03-May-2024483 229

QueryImpl.hD03-May-20241.6 KiB5032

README.mdD03-May-20241.7 KiB3827

RenderTargetCache.hD03-May-20246.9 KiB187144

RenderbufferImpl.cppD03-May-2024451 208

RenderbufferImpl.hD03-May-20247.1 KiB165135

RenderbufferImpl_mock.hD03-May-20241.6 KiB5234

SamplerImpl.hD03-May-20241 KiB4527

SemaphoreImpl.hD03-May-20241.5 KiB5132

ShaderImpl.cppD03-May-20242.7 KiB10676

ShaderImpl.hD03-May-20242.1 KiB7848

ShareGroupImpl.hD03-May-2024885 4226

StreamProducerImpl.hD03-May-20241.6 KiB4118

SurfaceImpl.cppD03-May-20243.8 KiB159124

SurfaceImpl.hD03-May-20245.7 KiB13797

SyncImpl.hD03-May-20241.3 KiB4629

TextureImpl.cppD03-May-20247.4 KiB201170

TextureImpl.hD03-May-202412.6 KiB261213

TextureImpl_mock.hD03-May-20246 KiB148128

TransformFeedbackImpl.cppD03-May-2024471 208

TransformFeedbackImpl.hD03-May-20241.4 KiB4326

TransformFeedbackImpl_mock.hD03-May-20241.3 KiB4225

VertexArrayImpl.cppD03-May-2024448 198

VertexArrayImpl.hD03-May-20242.6 KiB7146

angle_format.pyD03-May-202410.6 KiB309230

angle_format_data.jsonD03-May-20246.3 KiB299298

angle_format_map.jsonD03-May-202412.9 KiB243242

copyvertex.hD03-May-20243.1 KiB8154

copyvertex.inc.hD03-May-202422.7 KiB636530

d3d_format.cppD03-May-20246 KiB207186

d3d_format.hD03-May-20241.4 KiB5939

driver_utils.cppD03-May-202411.6 KiB400302

driver_utils.hD03-May-20245.5 KiB222166

driver_utils_ios.mmD03-May-2024761 2920

driver_utils_mac.mmD03-May-2024803 3022

dxgi_format_data.jsonD03-May-20243 KiB119118

dxgi_format_map.hD03-May-2024647 2815

dxgi_format_map_autogen.cppD03-May-202418 KiB517495

dxgi_support_data.jsonD03-May-202432.4 KiB1,2801,279

dxgi_support_table.hD03-May-20241.2 KiB4423

dxgi_support_table_autogen.cppD03-May-2024109.5 KiB3,0433,000

gen_angle_format_table.pyD03-May-202414 KiB452331

gen_dxgi_format_table.pyD03-May-20243.8 KiB161112

gen_dxgi_support_tables.pyD03-May-202411.5 KiB343274

gen_load_functions_table.pyD03-May-20247.5 KiB232167

load_functions_data.jsonD03-May-202433.7 KiB1,3581,356

load_functions_table.hD03-May-2024601 218

load_functions_table_autogen.cppD03-May-2024159.4 KiB5,5385,207

renderer_utils.cppD03-May-202467.1 KiB1,7361,453

renderer_utils.hD03-May-202420.3 KiB507408

serial_utils.hD03-May-202410.2 KiB326255

serial_utils_unittest.cppD03-May-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