[Graphics]GPU Architecture Notes
keywords: Graphics, GPU Architecture, IMG CXT, NVIDIA RTX, Ray Tracing on Mobile, GPU ISA, Instruction Set Architecture
NVIDIA RTX
Summary
Nvidia Technical Blog
https://developer.nvidia.com/blog/category/graphics/
Graphics Reinvented: Ray Tracing, AI, and Advanced Shading Deliver A Whole New Way To Experience Games
https://www.nvidia.com/en-us/geforce/news/graphics-reinvented-new-technologies-in-rtx-graphics-cards/
DLSS (Deep Learning Super Sampling)
NVIDIA DLSS: Your Questions, Answered
https://www.nvidia.com/en-us/geforce/news/nvidia-dlss-your-questions-answered/
RTXGI (Real-time Ray Traced Global Illumination)
RTX Global Illumination
https://developer.nvidia.com/rtxgi
RTXDI (RTX Direct Illumination)
RTX Direct Illumination (RTXDI)
https://developer.nvidia.com/rtx/ray-tracing/rtxdi
AMD GPU
Summary
Introduction to AMD GPU Hardware
https://www.youtube.com/watch?v=uu-3aEyesWQ
PowerVR Photon
IMG CXT GPU
The first mobile GPU core with ray tracing
https://www.imaginationtech.com/graphics-processors/img-cxt-gpu/
GPU ISA (Instruction Set Architecture)
NVIDIA
Assembler for NVIDIA Maxwell architecture
https://github.com/NervanaSystems/maxas
Nvidia doesn’t publish any offical documents for ISA since for the commercial protection: NVIDIA Instruction Set Architecture - Documentation (Maxwell)
AMD
AMD GPU ISA documentation
https://gpuopen.com/amd-isa-documentation/
References
SIMD in the GPU world
https://www.rastergrid.com/blog/gpu-tech/2022/02/simd-in-the-gpu-world/
Memory Accessing Architecture
Immediate Mode GPUs
Immediate Mode GPUs https://developer.arm.com/documentation/102662/0100/Immediate-Mode-GPUs
Tile-based GPUs
Tile-based GPUs
https://developer.arm.com/documentation/102662/0100/Tile-based-GPUs
GPU Framebuffer Memory: Understanding Tiling
https://developer.samsung.com/galaxy-gamedev/resources/articles/gpu-framebuffer.html
Hardware Capabilities
Texture Sampler
OpenGL ES 3.0
- Turns off support for compute Shaders and related features (compute buffers, random-write Textures), sparse Textures, tessellation Shaders and geometry Shaders. Enforces maximum of 4 simultaneous render targets, and maximum of 16 Textures used in a single Shader. Maximum allowed Texture size is set to 4096, and maximum cubemap size to 2048. Realtime soft shadows are disabled.
Metal
- Same restrictions applied as GLES3.0 emulation, except that the maximum cubemap size is set to 4096.
OpenGL ES 2.0
- In addition to features turned off by GLES3.0 emulation, this also turns off support for draw call instancing, Texture arrays, 3D Textures and multiple render targets. Enforces a maximum of 8 Textures used in a single Shader. Maximum allowed cubemap size is set to 1024.
Origin: Graphics hardware capabilities and emulation
https://docs.unity3d.com/560/Documentation/Manual/GraphicsEmulation.html
Max Texture Size
How to check the hardware limitation on the texture sizes:
int[] max = new int[1];
//put the maximum texture size in the array.
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, max, 0);
Origin: Limitation on texture size? Android Open GL ES 2.0
https://stackoverflow.com/a/8573543/1645289
The advantage of a bad memory is that one enjoys several times the same good things for the first time. ― Friedrich Nietzsche