From 0c324f564b42d403882fd031ab6bbb100229ac4c Mon Sep 17 00:00:00 2001 From: "coadde [Márcio Alexandre Silva Delgado]" Date: Thu, 12 Jan 2017 23:20:06 -0300 Subject: Update graphics modes (mali400) --- src/hardware_data/graphics/gpu_mali400mp2-4k.lua | 228 +++++++++++++++++++++++ src/hardware_data/graphics/mali400.lua | 170 ----------------- 2 files changed, 228 insertions(+), 170 deletions(-) create mode 100644 src/hardware_data/graphics/gpu_mali400mp2-4k.lua delete mode 100644 src/hardware_data/graphics/mali400.lua 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', - }, - }, - }, - }, - }, -} -- cgit v1.2.3-54-g00ecf