Move structs to needed file

This commit is contained in:
libretroadmin 2025-07-19 04:42:10 +02:00
parent 9542a71c89
commit d86c1a89b8
17 changed files with 187 additions and 271 deletions

View File

@ -23,9 +23,6 @@
#include <boolean.h>
#include <retro_math.h>
#include <gfx/math/matrix_4x4.h>
#include "../drivers_shader/slang_process.h"
#define D3D10_MAX_GPU_COUNT 16
@ -46,7 +43,6 @@ enum d3d10_video_flags
D3D10_ST_FLAG_FRAME_DUPE_LOCK = (1 << 11)
};
typedef const ID3D10SamplerState* D3D10SamplerStateRef;
typedef ID3D10InputLayout* D3D10InputLayout;

View File

@ -18,8 +18,6 @@
#include <retro_inline.h>
#include <lists/string_list.h>
#include "dxgi_common.h"
#ifdef CINTERFACE
#define D3D11_NO_HELPERS
@ -27,8 +25,6 @@
#include <d3d11.h>
#include <boolean.h>
#include <retro_math.h>
#include <gfx/math/matrix_4x4.h>
#include <libretro_d3d.h>
#include "../drivers_shader/slang_process.h"
@ -127,13 +123,6 @@ typedef ID3D11SwitchToRef* D3D11SwitchToRef;
typedef ID3D11TracingDevice* D3D11TracingDevice;
typedef ID3D11InfoQueue* D3D11InfoQueue;
typedef struct d3d11_vertex_t
{
float position[2];
float texcoord[2];
float color[4];
} d3d11_vertex_t;
#ifndef ALIGN
#ifdef _MSC_VER
#define ALIGN(x) __declspec(align(x))

View File

@ -18,11 +18,8 @@
#define _D3D12_DEFINES_H_
#include <retro_inline.h>
#include <retro_math.h>
#include <retro_common_api.h>
#include <gfx/math/matrix_4x4.h>
#include "dxgi_common.h"
#include <d3d12.h>

View File

@ -20,8 +20,6 @@
#include <retro_environment.h>
#include <retro_inline.h>
#include <gfx/math/matrix_4x4.h>
#include <lists/string_list.h>
#if defined(__APPLE__)
#include <OpenGL/gl.h>

View File

@ -27,10 +27,7 @@
#endif
#include <retro_inline.h>
#include <gfx/math/matrix_4x4.h>
#include <gfx/scaler/scaler.h>
#include <glsym/glsym.h>
#include <formats/image.h>
#include "../video_driver.h"
#include "../drivers_shader/shader_gl3.h"

View File

@ -1,52 +0,0 @@
#ifndef PS2_DEFINES_H__
#define PS2_DEFINES_H__
#include <stdint.h>
#include <stdbool.h>
#include <gsKit.h>
#include <gsInline.h>
#include "../video_defines.h"
#include "../../libretro-common/include/libretro_gskit_ps2.h"
typedef struct ps2_video
{
/* I need to create this additional field
* to be used in the font driver*/
bool clearVRAM_font;
bool menuVisible;
bool vsync;
int vsync_callback_id;
bool force_aspect;
int8_t vmode;
int video_window_offset_x;
int video_window_offset_y;
int PSM;
int tex_filter;
int menu_filter;
video_viewport_t vp;
/* Palette in the cores */
struct retro_hw_render_interface_gskit_ps2 iface;
GSGLOBAL *gsGlobal;
GSTEXTURE *menuTexture;
GSTEXTURE *coreTexture;
/* Last scaling state, for detecting changes */
int iTextureWidth;
int iTextureHeight;
float fDAR;
bool bScaleInteger;
struct retro_hw_ps2_insets padding;
/* Current scaling calculation result */
int iDisplayWidth;
int iDisplayHeight;
} ps2_video_t;
#endif

View File

@ -103,14 +103,14 @@ typedef struct
uint32_t *ptr;
/* Internal stuff */
uint32_t offset;
} rsxBuffer;
} rsx_buffer;
typedef struct
{
video_viewport_t vp;
rsxBuffer buffers[RSX_MAX_BUFFERS];
rsx_buffer buffers[RSX_MAX_BUFFERS];
#if defined(HAVE_MENU_BUFFER)
rsxBuffer menuBuffers[RSX_MAX_MENU_BUFFERS];
rsx_buffer menuBuffers[RSX_MAX_MENU_BUFFERS];
int menuBuffer;
#endif
int currentBuffer, nextBuffer;

View File

@ -1,24 +0,0 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* copyright (c) 2011-2015 - Daniel De Matteis
* copyright (c) 2016-2019 - Brad Parker
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __VGA_DEFINES_H
#define __VGA_DEFINES_H
#define VGA_WIDTH 320
#define VGA_HEIGHT 200
#endif

View File

@ -1,91 +0,0 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef VITA2D_DEFINES_H__
#define VITA2D_DEFINES_H__
#include <vita2d.h>
#include <retro_inline.h>
#include <string/stdstring.h>
#include <gfx/math/matrix_4x4.h>
#include <defines/psp_defines.h>
#include "../../driver.h"
#include "../../retroarch.h"
typedef struct vita_menu_frame
{
vita2d_texture *texture;
int width;
int height;
bool active;
} vita_menu_t;
#ifdef HAVE_OVERLAY
struct vita_overlay_data
{
vita2d_texture *tex;
float x;
float y;
float w;
float h;
float tex_x;
float tex_y;
float tex_w;
float tex_h;
float alpha_mod;
float width;
float height;
};
#endif
typedef struct vita_video
{
vita2d_texture *texture;
SceGxmTextureFormat format;
int width;
int height;
SceGxmTextureFilter tex_filter;
video_viewport_t vp;
math_matrix_4x4 mvp, mvp_no_rot;
vita_menu_t menu;
#ifdef HAVE_OVERLAY
struct vita_overlay_data *overlay;
unsigned overlays;
#endif
unsigned video_width;
unsigned video_height;
unsigned rotation;
#ifdef HAVE_OVERLAY
bool overlay_enable;
bool overlay_full_screen;
#endif
bool fullscreen;
bool vsync;
bool rgb32;
bool vblank_not_reached;
bool keep_aspect;
bool should_resize;
} vita_video_t;
#endif

View File

@ -39,10 +39,6 @@
#include <retro_inline.h>
#include <retro_common_api.h>
#include <retro_miscellaneous.h>
#include <gfx/math/matrix_4x4.h>
#include <gfx/scaler/scaler.h>
#include <rthreads/rthreads.h>
#include <formats/image.h>
#include <libretro.h>
#include <libretro_vulkan.h>
@ -328,28 +324,6 @@ enum vk_texture_flags
VK_TEX_FLAG_MIPMAP = (1 << 2)
};
#ifdef VULKAN_HDR_SWAPCHAIN
#ifndef VKALIGN
#ifdef _MSC_VER
#define VKALIGN(x) __declspec(align(x))
#else
#define VKALIGN(x) __attribute__((aligned(x)))
#endif
#endif
typedef struct VKALIGN(16)
{
math_matrix_4x4 mvp;
float contrast; /* 2.0f */
float paper_white_nits; /* 200.0f */
float max_nits; /* 1000.0f */
float expand_gamut; /* 1.0f */
float inverse_tonemap; /* 1.0f */
float hdr10; /* 1.0f */
} vulkan_hdr_uniform_t;
#endif /* VULKAN_HDR_SWAPCHAIN */
typedef struct vulkan_context
{
slock_t *queue_lock;
@ -426,48 +400,6 @@ struct vulkan_display_surface_info
unsigned refresh_rate_x1000;
};
struct vk_color
{
float r, g, b, a;
};
struct vk_vertex
{
float x, y;
float tex_x, tex_y;
struct vk_color color; /* float alignment */
};
struct vk_image
{
VkImage image; /* ptr alignment */
VkImageView view; /* ptr alignment */
VkFramebuffer framebuffer; /* ptr alignment */
VkDeviceMemory memory; /* ptr alignment */
};
struct vk_texture
{
VkDeviceSize memory_size; /* uint64_t alignment */
void *mapped;
VkImage image; /* ptr alignment */
VkImageView view; /* ptr alignment */
VkBuffer buffer; /* ptr alignment */
VkDeviceMemory memory; /* ptr alignment */
size_t offset;
size_t stride;
size_t size;
uint32_t memory_type;
unsigned width, height;
VkImageLayout layout; /* enum alignment */
VkFormat format; /* enum alignment */
enum vk_texture_type type;
uint8_t flags;
};
struct vk_buffer
{
VkDeviceSize size; /* uint64_t alignment */

View File

@ -76,6 +76,13 @@ const GUID DECLSPEC_SELECTANY libretro_IID_IDXGIFactory5 = { 0x7632e1f5,0xee65,0
#endif
#endif
typedef struct d3d11_vertex_t
{
float position[2];
float texcoord[2];
float color[4];
} d3d11_vertex_t;
typedef struct
{
D3D11Texture2D handle;

View File

@ -15,6 +15,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <malloc.h>
@ -27,12 +28,12 @@
#include <encodings/utf.h>
#include <libretro_gskit_ps2.h>
#include "../video_defines.h"
#include "../../driver.h"
#include "../../retroarch.h"
#include "../../verbosity.h"
#include "../gfx_display.h"
#include "../common/ps2_defines.h"
/* Generic tint color */
#define GS_TEXT GS_SETREG_RGBA(0x80, 0x80, 0x80, 0x80)
@ -71,6 +72,45 @@ typedef struct
void* font_data;
} ps2_font_t;
typedef struct ps2_video
{
/* I need to create this additional field
* to be used in the font driver*/
bool clearVRAM_font;
bool menuVisible;
bool vsync;
int vsync_callback_id;
bool force_aspect;
int8_t vmode;
int video_window_offset_x;
int video_window_offset_y;
int PSM;
int tex_filter;
int menu_filter;
video_viewport_t vp;
/* Palette in the cores */
struct retro_hw_render_interface_gskit_ps2 iface;
GSGLOBAL *gsGlobal;
GSTEXTURE *menuTexture;
GSTEXTURE *coreTexture;
/* Last scaling state, for detecting changes */
int iTextureWidth;
int iTextureHeight;
float fDAR;
bool bScaleInteger;
struct retro_hw_ps2_insets padding;
/* Current scaling calculation result */
int iDisplayWidth;
int iDisplayHeight;
} ps2_video_t;
static struct rm_mode rm_mode_table[NUM_RM_VMODES] = {
/* SDTV modes */
{-1, 704, -1, 4, GS_INTERLACED, GS_FIELD, -1, 11, "AUTO"},
@ -252,7 +292,7 @@ static void ps2_font_render_line(
width = glyph->width;
height = glyph->height;
/* The -0.5 is needed to achieve pixel perfect.
/* The -0.5 is needed to achieve pixel perfect.
* More info here (PS2 GSKit uses same logic as Direct3D9)
* https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-coordinates
*/

View File

@ -1070,7 +1070,7 @@ static bool rsx_tasks_finder(retro_task_t *task,void *userdata) { return task; }
task_finder_data_t rsx_tasks_finder_data = {rsx_tasks_finder, NULL};
#endif
static int rsx_make_buffer(rsxBuffer * buffer, u16 width, u16 height, int id)
static int rsx_make_buffer(rsx_buffer *buffer, u16 width, u16 height, int id)
{
int depth = sizeof(u32);
int pitch = depth * width;
@ -1229,7 +1229,7 @@ error:
return NULL;
}
static void rsx_init_render_target(rsx_t *rsx, rsxBuffer * buffer, int id)
static void rsx_init_render_target(rsx_t *rsx, rsx_buffer *buffer, int id)
{
u32 i;
memset(&rsx->surface[id], 0, sizeof(gcmSurface));
@ -1572,7 +1572,7 @@ static void rsx_fill_black(uint32_t *dst, uint32_t *dst_end, size_t sz)
}
static void rsx_blit_buffer(
rsxBuffer *buffer, const void *frame, unsigned width,
rsx_buffer *buffer, const void *frame, unsigned width,
unsigned height, unsigned pitch, int rgb32, bool do_scaling)
{
int i;
@ -2086,7 +2086,7 @@ static void rsx_get_overlay_interface(void *data,
static void rsx_update_screen(rsx_t* gcm)
{
rsxBuffer *buffer = NULL;
rsx_buffer *buffer = NULL;
#if defined(HAVE_MENU_BUFFER)
if (gcm->menu_frame_enable)
{

View File

@ -30,13 +30,14 @@
#include "../../menu/menu_driver.h"
#endif
#include "../common/vga_defines.h"
#include "../font_driver.h"
#include "../../driver.h"
#include "../../verbosity.h"
#define VGA_WIDTH 320
#define VGA_HEIGHT 200
typedef struct
{
const font_renderer_driver_t *font_driver;

View File

@ -20,6 +20,7 @@
#include <encodings/utf.h>
#include <string/stdstring.h>
#include <formats/image.h>
#include <gfx/math/matrix_4x4.h>
#ifdef HAVE_CONFIG_H
#include "../../config.h"
@ -35,14 +36,75 @@
#include "../font_driver.h"
#include "../video_driver.h"
#include "../common/vita2d_defines.h"
#include <defines/psp_defines.h>
#include "../../driver.h"
#include "../../retroarch.h"
#include "../../verbosity.h"
#include "../../configuration.h"
#include <defines/psp_defines.h>
#include <psp2/kernel/sysmem.h>
typedef struct vita_menu_frame
{
vita2d_texture *texture;
int width;
int height;
bool active;
} vita_menu_t;
#ifdef HAVE_OVERLAY
struct vita_overlay_data
{
vita2d_texture *tex;
float x;
float y;
float w;
float h;
float tex_x;
float tex_y;
float tex_w;
float tex_h;
float alpha_mod;
float width;
float height;
};
#endif
typedef struct vita_video
{
vita2d_texture *texture;
SceGxmTextureFormat format;
int width;
int height;
SceGxmTextureFilter tex_filter;
video_viewport_t vp;
math_matrix_4x4 mvp, mvp_no_rot;
vita_menu_t menu;
#ifdef HAVE_OVERLAY
struct vita_overlay_data *overlay;
unsigned overlays;
#endif
unsigned video_width;
unsigned video_height;
unsigned rotation;
#ifdef HAVE_OVERLAY
bool overlay_enable;
bool overlay_full_screen;
#endif
bool fullscreen;
bool vsync;
bool rgb32;
bool vblank_not_reached;
bool keep_aspect;
bool should_resize;
} vita_video_t;
typedef struct
{
vita_video_t *vita;

View File

@ -57,6 +57,69 @@
#define VK_REMAP_TO_TEXFMT(fmt) ((fmt == VK_FORMAT_R5G6B5_UNORM_PACK16) ? VK_FORMAT_R8G8B8A8_UNORM : fmt)
#ifdef VULKAN_HDR_SWAPCHAIN
#ifndef VKALIGN
#ifdef _MSC_VER
#define VKALIGN(x) __declspec(align(x))
#else
#define VKALIGN(x) __attribute__((aligned(x)))
#endif
#endif
typedef struct VKALIGN(16)
{
math_matrix_4x4 mvp;
float contrast; /* 2.0f */
float paper_white_nits; /* 200.0f */
float max_nits; /* 1000.0f */
float expand_gamut; /* 1.0f */
float inverse_tonemap; /* 1.0f */
float hdr10; /* 1.0f */
} vulkan_hdr_uniform_t;
#endif
struct vk_color
{
float r, g, b, a;
};
struct vk_vertex
{
float x, y;
float tex_x, tex_y;
struct vk_color color; /* float alignment */
};
struct vk_image
{
VkImage image; /* ptr alignment */
VkImageView view; /* ptr alignment */
VkFramebuffer framebuffer; /* ptr alignment */
VkDeviceMemory memory; /* ptr alignment */
};
struct vk_texture
{
VkDeviceSize memory_size; /* uint64_t alignment */
void *mapped;
VkImage image; /* ptr alignment */
VkImageView view; /* ptr alignment */
VkBuffer buffer; /* ptr alignment */
VkDeviceMemory memory; /* ptr alignment */
size_t offset;
size_t stride;
size_t size;
uint32_t memory_type;
unsigned width, height;
VkImageLayout layout; /* enum alignment */
VkFormat format; /* enum alignment */
enum vk_texture_type type;
uint8_t flags;
};
struct vk_per_frame
{
struct vk_texture texture; /* uint64_t alignment */

View File

@ -28,6 +28,7 @@
#include <compat/strl.h>
#include <formats/image.h>
#include <string/stdstring.h>
#include <gfx/math/matrix_4x4.h>
#include <retro_miscellaneous.h>
#include "slang_reflection.h"