mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
70 lines
1,008 B
C++
70 lines
1,008 B
C++
#pragma once
|
|
|
|
namespace rsx
|
|
{
|
|
//TODO
|
|
union alignas(4) method_registers_t
|
|
{
|
|
u8 _u8[0x10000];
|
|
u32 _u32[0x10000 >> 2];
|
|
/*
|
|
struct alignas(4)
|
|
{
|
|
u8 pad[NV4097_SET_TEXTURE_OFFSET - 4];
|
|
|
|
struct alignas(4) texture_t
|
|
{
|
|
u32 offset;
|
|
|
|
union format_t
|
|
{
|
|
u32 _u32;
|
|
|
|
struct
|
|
{
|
|
u32: 1;
|
|
u32 location : 1;
|
|
u32 cubemap : 1;
|
|
u32 border_type : 1;
|
|
u32 dimension : 4;
|
|
u32 format : 8;
|
|
u32 mipmap : 16;
|
|
};
|
|
} format;
|
|
|
|
union address_t
|
|
{
|
|
u32 _u32;
|
|
|
|
struct
|
|
{
|
|
u32 wrap_s : 4;
|
|
u32 aniso_bias : 4;
|
|
u32 wrap_t : 4;
|
|
u32 unsigned_remap : 4;
|
|
u32 wrap_r : 4;
|
|
u32 gamma : 4;
|
|
u32 signed_remap : 4;
|
|
u32 zfunc : 4;
|
|
};
|
|
} address;
|
|
|
|
u32 control0;
|
|
u32 control1;
|
|
u32 filter;
|
|
u32 image_rect;
|
|
u32 border_color;
|
|
} textures[limits::textures_count];
|
|
};
|
|
*/
|
|
u32& operator[](int index)
|
|
{
|
|
return _u32[index >> 2];
|
|
}
|
|
};
|
|
|
|
using rsx_method_t = void(*)(class thread*, u32);
|
|
extern u32 method_registers[0x10000 >> 2];
|
|
extern rsx_method_t methods[0x10000 >> 2];
|
|
}
|