summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2017-01-12 23:20:06 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2017-01-12 23:20:06 -0300
commit0c324f564b42d403882fd031ab6bbb100229ac4c (patch)
tree32c18275754a282f975dd6f74c624fe90ce2740d
parent3e41620127d55875f80413d319b52c15b7c3bcec (diff)
Update graphics modes (mali400)
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-4k.lua228
-rw-r--r--src/hardware_data/graphics/mali400.lua170
2 files changed, 228 insertions, 170 deletions
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-4k.lua b/src/hardware_data/graphics/gpu_mali400mp2-4k.lua
new file mode 100644
index 0000000..deeb5d4
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-4k.lua
@@ -0,0 +1,228 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with 4K resolution --
+
+return {
+ screen = {
+ width = 3840,
+ height = 2160,
+ vsync = 120,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 2*350*10^(3*2),
+ texels = 2*350*10^(3*2)/80^2,
+ vertices = (38+1/3)*10^(3*2),
+ },
+ colours = {
+ total = 2^(8*4),
+ limit = false,
+ transparent = {
+ sprite = 'alphaChannel',
+ tile = 'alphaChannel',
+ },
+ tileDepth = 'colourKey',
+ palettes = {
+ {
+ total = 1,
+ type = 'perTexel',
+ colours = 2^(8*4),
+ layers = false,
+ },
+ },
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = 2,
+ vectex = 1,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ -- Limit sprites on screen --
+ onScreen = 2^16,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = false,
+ unique = 'tiles',
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ -- Sprite sizes in pixels --
+ sizes = {
+ {
+ width = 80,
+ height = 80,
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ {
+ -- Total tiles and pixels on VRAM --
+ onVRAM = {
+ screenSections = {
+ all = {
+ Xtiles = 16*48,
+ Ytiles = 16*27,
+ tiles = 331776,
+ pixels = 2123366400,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total tiles and pixels on screen --
+ onScreen = {
+ screenSections = {
+ -- On screen section with support scrolling X and/or Y, --
+ -- will be include one tile by axis --
+ all = {
+ Xtiles = 48+1,
+ Ytiles = 27+1,
+ tiles = 1296+48+27+1,
+ pixels = 8294400,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = {
+ data = 2^16,
+ background = 'data',
+ total = 65536,
+ },
+ maximum = 331776,
+ mirror = {
+ switchable = true,
+ nametables = 16^2,
+ 'horizontal',
+ 'vertical',
+ '1 screen',
+ '4 screen',
+ 'diagonal',
+ 'l shaped',
+ '3 screen vertical',
+ '3 screen horizontal',
+ '3 screen diagonal',
+ 'free tiles'
+ },
+ screenSections = {
+ main = {
+ optional = false,
+ moveSection = false,
+ {
+ startSection = {
+ x = 'startVRAM',
+ y = 'startVRAM',
+ },
+ endSection = {
+ x = 'endVRAM',
+ y = 'endVRAM',
+ },
+ size = {
+ -- Tile size in pixels --
+ width = 80,
+ height = 80,
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay0 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = {
+ -- Tile size in pixels --
+ width = 80,
+ height = 80,
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay1 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = {
+ -- Tile size in pixels --
+ width = 80,
+ height = 80,
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay2 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = {
+ -- Tile size in pixels --
+ width = 80,
+ height = 80,
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/graphics/mali400.lua b/src/hardware_data/graphics/mali400.lua
deleted file mode 100644
index ee54f08..0000000
--- a/src/hardware_data/graphics/mali400.lua
+++ /dev/null
@@ -1,170 +0,0 @@
-return {
- screen = {
- fhd = {
- width = 1920,
- height = 1080,
- fps = 30,
- origin = {
- x = 0,
- y = 0,
- },
- },
- uhd4k = {
- width = 3840,
- height = 2160,
- fps = 30,
- origin = {
- x = 0,
- y = 0,
- },
- },
- },
- colours = {
- total = '32bpp',
- limit = false,
- background = true,
- transparent = 'colourKey,alpha',
- },
- meshes = true,
- shaders = {
- api = 'glsl_es',
- version = '1.0.17',
- fragment = true,
- vectex = true,
- geometry = false,
- tessellation = false,
- },
- physic = true,
- sprites = {
- onScreen = false,
- onLine = false,
- palettes = {
- specify = true,
- {
- total = '24bpp',
- limit = 255,
- keys = 1,
- },
- {
- total = '32bpp',
- limit = 256,
- keys = 'alpha',
- },
- {
- total = '24bpp',
- limit = '24bpp-1',
- keys = 1,
- },
- {
- total = '32bpp',
- limit = '24bpp',
- keys = 'alpha',
- },
- {
- total = '48bpp',
- limit = '48bpp-1',
- keys = 1,
- },
- {
- total = '64bpp',
- limit = '48bpp',
- keys = 'alpha',
- },
- },
- transform = {
- move = true,
- rotate = true,
- scale = true,
- shear = true,
- affine = true,
- },
- sizes = {
- {
- width = 'free',
- height = 'free',
- },
- },
- },
- tiles = {
- layers = {
- free = {
- total = 8294400,
- limit = false,
- unique = true,
- independent = true,
- palettes = {
- specify = true,
- {
- total = '24bpp',
- limit = 256,
- keys = false,
- map = false,
- },
- {
- total = '24bpp',
- limit = 255,
- keys = 1,
- map = false,
- },
- {
- total = '32bpp',
- limit = 256,
- keys = 'alpha',
- map = false,
- },
- {
- total = '24bpp',
- limit = false,
- keys = false,
- map = false,
- },
- {
- total = '24bpp',
- limit = '24bpp-1',
- keys = 1,
- map = false,
- },
- {
- total = '32bpp',
- limit = '24bpp',
- keys = 'alpha',
- map = false,
- },
- {
- total = '48bpp',
- limit = false,
- keys = false,
- map = false,
- },
- {
- total = '48bpp',
- limit = '48bpp-1',
- keys = 1,
- map = false,
- },
- {
- total = '64bpp',
- limit = '48bpp',
- keys = 'alpha',
- map = false,
- },
- },
- mirror = true,
- transform = {
- individual = true,
- move = true,
- rotate = true,
- scale = true,
- shear = true,
- affine = true,
- },
- sizes = {
- {
- width = 'free',
- height = 'free',
- },
- },
- },
- },
- },
-}