This commit is contained in:
Zangetsu38 2016-04-18 01:08:57 +02:00
parent f753bfac94
commit 9266aa1317
37 changed files with 755 additions and 67 deletions

2
.gitignore vendored
View file

@ -85,3 +85,5 @@ CMakeCache.txt
# cotire
rpcs3/cotire/*
rpcs3/rpcs3_*_cotire.cmake
/.vs/rpcs3/v15/ipch/AutoPCH/VKGSRENDER-1a48cf59/VKGSRENDER-717b8989/*.ipch
/.vs/rpcs3/v15/ipch/EMUCORE-4bdb26ae/*.ipch

301
3rdparty/GL/glext.h vendored
View file

@ -6,7 +6,7 @@ extern "C" {
#endif
/*
** Copyright (c) 2013-2014 The Khronos Group Inc.
** Copyright (c) 2013-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
@ -33,7 +33,7 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
** Khronos $Revision: 31191 $ on $Date: 2015-05-14 06:31:39 -0400 (Thu, 14 May 2015) $
** Khronos $Revision: 33248 $ on $Date: 2016-10-24 01:22:03 -0400 (Mon, 24 Oct 2016) $
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@ -53,7 +53,7 @@ extern "C" {
#define GLAPI extern
#endif
#define GL_GLEXT_VERSION 20150514
#define GL_GLEXT_VERSION 20161024
/* Generated C header for:
* API: gl
@ -2654,7 +2654,7 @@ typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint fram
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target);
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param);
@ -2777,7 +2777,7 @@ GLAPI void APIENTRY glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLs
GLAPI void APIENTRY glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
GLAPI void APIENTRY glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
GLAPI void APIENTRY glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
GLAPI void APIENTRY glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
GLAPI GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target);
GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param);
@ -2875,6 +2875,17 @@ GLAPI void APIENTRY glTextureBarrier (void);
#define GL_ARB_ES3_1_compatibility 1
#endif /* GL_ARB_ES3_1_compatibility */
#ifndef GL_ARB_ES3_2_compatibility
#define GL_ARB_ES3_2_compatibility 1
#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE
#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381
#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382
typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
#endif
#endif /* GL_ARB_ES3_2_compatibility */
#ifndef GL_ARB_ES3_compatibility
#define GL_ARB_ES3_compatibility 1
#endif /* GL_ARB_ES3_compatibility */
@ -3288,6 +3299,10 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
#endif /* GL_ARB_fragment_shader */
#ifndef GL_ARB_fragment_shader_interlock
#define GL_ARB_fragment_shader_interlock 1
#endif /* GL_ARB_fragment_shader_interlock */
#ifndef GL_ARB_framebuffer_no_attachments
#define GL_ARB_framebuffer_no_attachments 1
#endif /* GL_ARB_framebuffer_no_attachments */
@ -3348,6 +3363,91 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen
#define GL_ARB_gpu_shader_fp64 1
#endif /* GL_ARB_gpu_shader_fp64 */
#ifndef GL_ARB_gpu_shader_int64
#define GL_ARB_gpu_shader_int64 1
#define GL_INT64_ARB 0x140E
#define GL_INT64_VEC2_ARB 0x8FE9
#define GL_INT64_VEC3_ARB 0x8FEA
#define GL_INT64_VEC4_ARB 0x8FEB
#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5
#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6
#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7
typedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x);
typedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y);
typedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z);
typedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
typedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x);
typedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y);
typedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
typedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
typedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64 *params);
typedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64 *params);
typedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glUniform1i64ARB (GLint location, GLint64 x);
GLAPI void APIENTRY glUniform2i64ARB (GLint location, GLint64 x, GLint64 y);
GLAPI void APIENTRY glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z);
GLAPI void APIENTRY glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
GLAPI void APIENTRY glUniform1i64vARB (GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glUniform2i64vARB (GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glUniform3i64vARB (GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glUniform4i64vARB (GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glUniform1ui64ARB (GLint location, GLuint64 x);
GLAPI void APIENTRY glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y);
GLAPI void APIENTRY glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
GLAPI void APIENTRY glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
GLAPI void APIENTRY glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glGetUniformi64vARB (GLuint program, GLint location, GLint64 *params);
GLAPI void APIENTRY glGetUniformui64vARB (GLuint program, GLint location, GLuint64 *params);
GLAPI void APIENTRY glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
GLAPI void APIENTRY glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
GLAPI void APIENTRY glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x);
GLAPI void APIENTRY glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y);
GLAPI void APIENTRY glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
GLAPI void APIENTRY glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
GLAPI void APIENTRY glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
GLAPI void APIENTRY glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x);
GLAPI void APIENTRY glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y);
GLAPI void APIENTRY glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
GLAPI void APIENTRY glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
GLAPI void APIENTRY glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
GLAPI void APIENTRY glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
#endif
#endif /* GL_ARB_gpu_shader_int64 */
#ifndef GL_ARB_half_float_pixel
#define GL_ARB_half_float_pixel 1
typedef unsigned short GLhalfARB;
@ -3727,6 +3827,16 @@ GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *par
#define GL_ARB_occlusion_query2 1
#endif /* GL_ARB_occlusion_query2 */
#ifndef GL_ARB_parallel_shader_compile
#define GL_ARB_parallel_shader_compile 1
#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0
#define GL_COMPLETION_STATUS_ARB 0x91B1
typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glMaxShaderCompilerThreadsARB (GLuint count);
#endif
#endif /* GL_ARB_parallel_shader_compile */
#ifndef GL_ARB_pipeline_statistics_query
#define GL_ARB_pipeline_statistics_query 1
#define GL_VERTICES_SUBMITTED_ARB 0x82EE
@ -3769,6 +3879,10 @@ GLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params);
#define GL_COORD_REPLACE_ARB 0x8862
#endif /* GL_ARB_point_sprite */
#ifndef GL_ARB_post_depth_coverage
#define GL_ARB_post_depth_coverage 1
#endif /* GL_ARB_post_depth_coverage */
#ifndef GL_ARB_program_interface_query
#define GL_ARB_program_interface_query 1
#endif /* GL_ARB_program_interface_query */
@ -3842,6 +3956,26 @@ GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum form
#define GL_ARB_robustness_isolation 1
#endif /* GL_ARB_robustness_isolation */
#ifndef GL_ARB_sample_locations
#define GL_ARB_sample_locations 1
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D
#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E
#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340
#define GL_SAMPLE_LOCATION_ARB 0x8E50
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341
#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342
#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343
typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC) (void);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
GLAPI void APIENTRY glEvaluateDepthValuesARB (void);
#endif
#endif /* GL_ARB_sample_locations */
#ifndef GL_ARB_sample_shading
#define GL_ARB_sample_shading 1
#define GL_SAMPLE_SHADING_ARB 0x8C36
@ -3868,14 +4002,26 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
#define GL_ARB_separate_shader_objects 1
#endif /* GL_ARB_separate_shader_objects */
#ifndef GL_ARB_shader_atomic_counter_ops
#define GL_ARB_shader_atomic_counter_ops 1
#endif /* GL_ARB_shader_atomic_counter_ops */
#ifndef GL_ARB_shader_atomic_counters
#define GL_ARB_shader_atomic_counters 1
#endif /* GL_ARB_shader_atomic_counters */
#ifndef GL_ARB_shader_ballot
#define GL_ARB_shader_ballot 1
#endif /* GL_ARB_shader_ballot */
#ifndef GL_ARB_shader_bit_encoding
#define GL_ARB_shader_bit_encoding 1
#endif /* GL_ARB_shader_bit_encoding */
#ifndef GL_ARB_shader_clock
#define GL_ARB_shader_clock 1
#endif /* GL_ARB_shader_clock */
#ifndef GL_ARB_shader_draw_parameters
#define GL_ARB_shader_draw_parameters 1
#endif /* GL_ARB_shader_draw_parameters */
@ -4040,6 +4186,10 @@ GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GL
#define GL_ARB_shader_texture_lod 1
#endif /* GL_ARB_shader_texture_lod */
#ifndef GL_ARB_shader_viewport_layer_array
#define GL_ARB_shader_viewport_layer_array 1
#endif /* GL_ARB_shader_viewport_layer_array */
#ifndef GL_ARB_shading_language_100
#define GL_ARB_shading_language_100 1
#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
@ -4119,6 +4269,14 @@ GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xo
#endif
#endif /* GL_ARB_sparse_texture */
#ifndef GL_ARB_sparse_texture2
#define GL_ARB_sparse_texture2 1
#endif /* GL_ARB_sparse_texture2 */
#ifndef GL_ARB_sparse_texture_clamp
#define GL_ARB_sparse_texture_clamp 1
#endif /* GL_ARB_sparse_texture_clamp */
#ifndef GL_ARB_stencil_texturing
#define GL_ARB_stencil_texturing 1
#endif /* GL_ARB_stencil_texturing */
@ -4271,6 +4429,12 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void
#define GL_DOT3_RGBA_ARB 0x86AF
#endif /* GL_ARB_texture_env_dot3 */
#ifndef GL_ARB_texture_filter_minmax
#define GL_ARB_texture_filter_minmax 1
#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366
#define GL_WEIGHTED_AVERAGE_ARB 0x9367
#endif /* GL_ARB_texture_filter_minmax */
#ifndef GL_ARB_texture_float
#define GL_ARB_texture_float 1
#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
@ -4815,6 +4979,10 @@ GLAPI void APIENTRY glBlendBarrierKHR (void);
#define GL_KHR_texture_compression_astc_ldr 1
#endif /* GL_KHR_texture_compression_astc_ldr */
#ifndef GL_KHR_texture_compression_astc_sliced_3d
#define GL_KHR_texture_compression_astc_sliced_3d 1
#endif /* GL_KHR_texture_compression_astc_sliced_3d */
#ifndef GL_OES_byte_coordinates
#define GL_OES_byte_coordinates 1
typedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s);
@ -5210,6 +5378,23 @@ GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRG
#define GL_AMD_gcn_shader 1
#endif /* GL_AMD_gcn_shader */
#ifndef GL_AMD_gpu_shader_half_float
#define GL_AMD_gpu_shader_half_float 1
#define GL_FLOAT16_NV 0x8FF8
#define GL_FLOAT16_VEC2_NV 0x8FF9
#define GL_FLOAT16_VEC3_NV 0x8FFA
#define GL_FLOAT16_VEC4_NV 0x8FFB
#define GL_FLOAT16_MAT2_AMD 0x91C5
#define GL_FLOAT16_MAT3_AMD 0x91C6
#define GL_FLOAT16_MAT4_AMD 0x91C7
#define GL_FLOAT16_MAT2x3_AMD 0x91C8
#define GL_FLOAT16_MAT2x4_AMD 0x91C9
#define GL_FLOAT16_MAT3x2_AMD 0x91CA
#define GL_FLOAT16_MAT3x4_AMD 0x91CB
#define GL_FLOAT16_MAT4x2_AMD 0x91CC
#define GL_FLOAT16_MAT4x3_AMD 0x91CD
#endif /* GL_AMD_gpu_shader_half_float */
#ifndef GL_AMD_gpu_shader_int64
#define GL_AMD_gpu_shader_int64 1
typedef int64_t GLint64EXT;
@ -5237,10 +5422,6 @@ typedef int64_t GLint64EXT;
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
#define GL_FLOAT16_NV 0x8FF8
#define GL_FLOAT16_VEC2_NV 0x8FF9
#define GL_FLOAT16_VEC3_NV 0x8FFA
#define GL_FLOAT16_VEC4_NV 0x8FFB
typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
@ -5428,6 +5609,14 @@ GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLf
#define GL_AMD_shader_atomic_counter_ops 1
#endif /* GL_AMD_shader_atomic_counter_ops */
#ifndef GL_AMD_shader_ballot
#define GL_AMD_shader_ballot 1
#endif /* GL_AMD_shader_ballot */
#ifndef GL_AMD_shader_explicit_vertex_parameter
#define GL_AMD_shader_explicit_vertex_parameter 1
#endif /* GL_AMD_shader_explicit_vertex_parameter */
#ifndef GL_AMD_shader_stencil_export
#define GL_AMD_shader_stencil_export 1
#endif /* GL_AMD_shader_stencil_export */
@ -8468,6 +8657,20 @@ GLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei s
#endif
#endif /* GL_EXT_vertex_weighting */
#ifndef GL_EXT_window_rectangles
#define GL_EXT_window_rectangles 1
#define GL_INCLUSIVE_EXT 0x8F10
#define GL_EXCLUSIVE_EXT 0x8F11
#define GL_WINDOW_RECTANGLE_EXT 0x8F12
#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13
#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14
#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15
typedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box);
#endif
#endif /* GL_EXT_window_rectangles */
#ifndef GL_EXT_x11_sync_object
#define GL_EXT_x11_sync_object 1
#define GL_SYNC_X11_FENCE_EXT 0x90E1
@ -8645,10 +8848,23 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRG
#define GL_INTERLACE_READ_INGR 0x8568
#endif /* GL_INGR_interlace_read */
#ifndef GL_INTEL_conservative_rasterization
#define GL_INTEL_conservative_rasterization 1
#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
#endif /* GL_INTEL_conservative_rasterization */
#ifndef GL_INTEL_fragment_shader_ordering
#define GL_INTEL_fragment_shader_ordering 1
#endif /* GL_INTEL_fragment_shader_ordering */
#ifndef GL_INTEL_framebuffer_CMAA
#define GL_INTEL_framebuffer_CMAA 1
typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
#endif
#endif /* GL_INTEL_framebuffer_CMAA */
#ifndef GL_INTEL_map_texture
#define GL_INTEL_map_texture 1
#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF
@ -8953,6 +9169,17 @@ GLAPI void APIENTRY glBlendBarrierNV (void);
#define GL_NV_blend_square 1
#endif /* GL_NV_blend_square */
#ifndef GL_NV_clip_space_w_scaling
#define GL_NV_clip_space_w_scaling 1
#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C
#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D
#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E
typedef void (APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
#endif
#endif /* GL_NV_clip_space_w_scaling */
#ifndef GL_NV_command_list
#define GL_NV_command_list 1
#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000
@ -9044,6 +9271,28 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
#endif
#endif /* GL_NV_conservative_raster */
#ifndef GL_NV_conservative_raster_dilate
#define GL_NV_conservative_raster_dilate 1
#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379
#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat value);
#endif
#endif /* GL_NV_conservative_raster_dilate */
#ifndef GL_NV_conservative_raster_pre_snap_triangles
#define GL_NV_conservative_raster_pre_snap_triangles 1
#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D
#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param);
#endif
#endif /* GL_NV_conservative_raster_pre_snap_triangles */
#ifndef GL_NV_copy_depth_to_color
#define GL_NV_copy_depth_to_color 1
#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
@ -10036,6 +10285,11 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname,
#endif
#endif /* GL_NV_register_combiners2 */
#ifndef GL_NV_robustness_video_memory_purge
#define GL_NV_robustness_video_memory_purge 1
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
#endif /* GL_NV_robustness_video_memory_purge */
#ifndef GL_NV_sample_locations
#define GL_NV_sample_locations 1
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
@ -10068,6 +10322,10 @@ GLAPI void APIENTRY glResolveDepthValuesNV (void);
#define GL_NV_shader_atomic_float 1
#endif /* GL_NV_shader_atomic_float */
#ifndef GL_NV_shader_atomic_float64
#define GL_NV_shader_atomic_float64 1
#endif /* GL_NV_shader_atomic_float64 */
#ifndef GL_NV_shader_atomic_fp16_vector
#define GL_NV_shader_atomic_fp16_vector 1
#endif /* GL_NV_shader_atomic_fp16_vector */
@ -10131,6 +10389,10 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs
#define GL_NV_shader_thread_shuffle 1
#endif /* GL_NV_shader_thread_shuffle */
#ifndef GL_NV_stereo_view_rendering
#define GL_NV_stereo_view_rendering 1
#endif /* GL_NV_stereo_view_rendering */
#ifndef GL_NV_tessellation_program5
#define GL_NV_tessellation_program5 1
#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
@ -10901,6 +11163,26 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
#define GL_NV_viewport_array2 1
#endif /* GL_NV_viewport_array2 */
#ifndef GL_NV_viewport_swizzle
#define GL_NV_viewport_swizzle 1
#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351
#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353
#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355
#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356
#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357
#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358
#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359
#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A
#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B
typedef void (APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
#endif
#endif /* GL_NV_viewport_swizzle */
#ifndef GL_OML_interlace
#define GL_OML_interlace 1
#define GL_INTERLACE_OML 0x8980
@ -10928,6 +11210,7 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
#define GL_MAX_VIEWS_OVR 0x9631
#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);

2
3rdparty/ffmpeg vendored

@ -1 +1 @@
Subproject commit 8dd84dc1ea8bc70da1a345109383f62974a9c2fc
Subproject commit 2f6023d14a09e6fc1babbb8b31231249719e9240

@ -1 +1 @@
Subproject commit 64d375f52e2011964e196710ca78b0d4d68b20d0
Subproject commit 55974c1934277059423f01cbce11d33efe9bdf87

@ -1 +1 @@
Subproject commit 2921e0c54a95264a6fd193c79c814f2869ef9a2d
Subproject commit 5d89d4d48399d45fa1df3c1789d1335899d1e38d

2
asmjit

@ -1 +1 @@
Subproject commit b0dad1af25fb141bf2b20cf29392194886448832
Subproject commit 6758955e8c0e7d74fc65c2736a4d007e09f770ca

View file

@ -120,7 +120,7 @@ int decode_word(unsigned char *ptr, int index, int *bit_flag, unsigned int *rang
int decompress(unsigned char *out, unsigned char *in, unsigned int size)
{
int result;
__int64 result;
unsigned char *tmp = new unsigned char[0xCC8];

View file

@ -95,7 +95,8 @@ s32 cellAudioOutSetDeviceMode()
s32 cellAudioInSetDeviceMode()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellAvconfExt);
return CELL_OK;
}
s32 cellAudioInRegisterDevice()

View file

@ -554,7 +554,7 @@ s32 cellFontExtend(u32 a1, u32 a2, u32 a3)
//Something happens
}
//Something happens?
return CELL_OK;
return -1;
}
s32 cellFontRenderCharGlyphImageVertical()
@ -587,7 +587,8 @@ s32 cellFontGraphicsGetDrawType()
s32 cellFontGetKerning()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
}
s32 cellFontGetRenderScaledKerning()
@ -622,7 +623,8 @@ s32 cellFontGetEffectWeight()
s32 cellFontGetScalePixel()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
}
s32 cellFontClearFileCache()
@ -637,7 +639,8 @@ s32 cellFontAdjustFontScaling()
s32 cellFontSetupRenderScalePoint()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
}
s32 cellFontGlyphGetVerticalShift()

View file

@ -892,7 +892,8 @@ s32 cellFsChangeFileSizeByFdWithoutAllocation()
s32 cellFsSetDiscReadRetrySetting()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellFs);
return CELL_OK;
}
s32 cellFsRegisterConversionCallback()

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/PPUModule.h"
@ -181,7 +181,8 @@ s32 cellHddGameCheck2()
s32 cellHddGameGetSizeKB()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGame);
return CELL_OK;
}
s32 cellHddGameSetSystemVer()
@ -191,7 +192,8 @@ s32 cellHddGameSetSystemVer()
s32 cellHddGameExitBroken()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGame);
return CELL_OK;
}

View file

@ -1136,7 +1136,8 @@ void cellGcmSetDefaultCommandBuffer()
s32 cellGcmSetDefaultCommandBufferAndSegmentWordSize()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
}
//------------------------------------------------------------------------
@ -1205,12 +1206,14 @@ s32 cellGcmSetTile(u8 index, u8 location, u32 offset, u32 size, u32 pitch, u8 co
s32 _cellGcmFunc2()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
}
s32 _cellGcmFunc3()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
}
s32 _cellGcmFunc4()
@ -1220,7 +1223,8 @@ s32 _cellGcmFunc4()
s32 _cellGcmFunc13()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
}
s32 _cellGcmFunc38()

View file

@ -10,9 +10,110 @@
extern logs::channel cellSysutil;
s32 cellMsgDialogOpen()
s32 cellMsgDialogOpen(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
{
fmt::throw_exception("Unimplemented" HERE);
cellSysutil.warning("cellMsgDialogOpen(type=0x%x, msgString=%s, callback=*0x%x, userData=*0x%x, extParam=*0x%x)", type, msgString, callback, userData, extParam);
if (!msgString || std::strlen(msgString.get_ptr()) >= 0x200 || type & -0x33f8)
{
return CELL_MSGDIALOG_ERROR_PARAM;
}
const MsgDialogType _type = { type };
switch (_type.button_type.unshifted())
{
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_NONE:
{
if (_type.default_cursor || _type.progress_bar_count > 2)
{
return CELL_MSGDIALOG_ERROR_PARAM;
}
break;
}
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_YESNO:
{
if (_type.default_cursor > 1 || _type.progress_bar_count)
{
return CELL_MSGDIALOG_ERROR_PARAM;
}
break;
}
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_OK:
{
if (_type.default_cursor || _type.progress_bar_count)
{
return CELL_MSGDIALOG_ERROR_PARAM;
}
break;
}
default: return CELL_MSGDIALOG_ERROR_PARAM;
}
const auto dlg = fxm::import<MsgDialogBase>(Emu.GetCallbacks().get_msg_dialog);
if (!dlg)
{
return CELL_SYSUTIL_ERROR_BUSY;
}
if (_type.se_mute_on)
{
// TODO
}
if (_type.se_normal)
{
cellSysutil.warning(msgString.get_ptr());
}
else
{
cellSysutil.error(msgString.get_ptr());
}
dlg->type = _type;
dlg->on_close = [callback, userData, wptr = std::weak_ptr<MsgDialogBase>(dlg)](s32 status)
{
const auto dlg = wptr.lock();
if (dlg && dlg->state.compare_and_swap_test(MsgDialogState::Open, MsgDialogState::Close))
{
if (callback)
{
sysutil_register_cb([=](ppu_thread& ppu) -> s32
{
callback(ppu, status, userData);
return CELL_OK;
});
}
fxm::remove<MsgDialogBase>();
}
};
atomic_t<bool> result(false);
// Run asynchronously in GUI thread
Emu.CallAfter([&]()
{
dlg->Create(msgString.get_ptr());
result = true;
});
while (!result)
{
CHECK_EMU_STATUS;
std::this_thread::sleep_for(1ms);
}
return CELL_OK;
}
s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)

View file

@ -139,7 +139,8 @@ s32 cellNetCtlGetNatInfo(vm::ptr<CellNetCtlNatInfo> natInfo)
s32 cellGameUpdateInit()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(cellNetCtl);
return CELL_OK;
}
s32 cellGameUpdateTerm()

View file

@ -634,7 +634,7 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
}
// Calculate the image size
u32 image_size = stream->out_param.outputWidthByte * stream->out_param.outputHeight;
unsigned __int64 image_size = stream->out_param.outputWidthByte * stream->out_param.outputHeight;
// Buffer for storing the image
std::vector<u8> png(image_size);

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Utilities/Config.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
@ -380,7 +380,8 @@ s32 cellSysutilSetBgmPlaybackExtraParam()
s32 cellSysutilRegisterCallbackDispatcher()
{
fmt::throw_exception("Unimplemented" HERE);
cellSysutil.todo("cellSysutilRegisterCallbackDispatcher()");
return CELL_OK;
}
s32 cellSysutilPacketWrite()
@ -419,6 +420,173 @@ s32 cellSysutil_E1EC7B6A()
return CELL_OK;
}
s32 cellSysutil_E186F9AC()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_B47470E1()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_CFAD36DE()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_2CD62587()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_6BA1D72F()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_E77FAFB5()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_20957CD4()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_75AA7373()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_5EC145E2()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_2D96313F()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_6EEE1B61()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_8AD11D24()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_134034CE()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_79EFF338()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_40719C8C()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_0B8D63AE()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_35F7ED00()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_40C7538E0()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_D3CDD694()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_0633EDC2()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_58B963E5()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_933B103D()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_FB1E70A0()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_6AF9FD89()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_505FA917()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_44F288A7()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_4986187C()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
s32 cellSysutil_A297525E()
{
UNIMPLEMENTED_FUNC(cellSysutil);
return CELL_OK;
}
extern void cellSysutil_SaveData_init();
extern void cellSysutil_GameData_init();
extern void cellSysutil_MsgDialog_init();
@ -469,5 +637,43 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []()
REG_FUNC(cellSysutil, cellSysutilGameExit_I);
REG_FUNC(cellSysutil, cellSysutilGamePowerOff_I);
REG_FUNC(cellSysutil, cellSysutilGameReboot_I);
REG_FNID(cellSysutil, 0xE1EC7B6A, cellSysutil_E1EC7B6A);
REG_FNID(cellSysutil, 0xE186F9AC, cellSysutil_E186F9AC);
REG_FNID(cellSysutil, 0xB47470E1, cellSysutil_B47470E1);
REG_FNID(cellSysutil, 0xCFAD36DE, cellSysutil_CFAD36DE);
REG_FNID(cellSysutil, 0x2CD62587, cellSysutil_2CD62587);
REG_FNID(cellSysutil, 0x6BA1D72F, cellSysutil_6BA1D72F);
REG_FNID(cellSysutil, 0xE77FAFB5, cellSysutil_E77FAFB5);
REG_FNID(cellSysutil, 0x20957CD4, cellSysutil_20957CD4);
REG_FNID(cellSysutil, 0x75AA7373, cellSysutil_75AA7373);
REG_FNID(cellSysutil, 0x5EC145E2, cellSysutil_5EC145E2);
REG_FNID(cellSysutil, 0x2D96313F, cellSysutil_2D96313F);
REG_FNID(cellSysutil, 0x6EEE1B61, cellSysutil_6EEE1B61);
REG_FNID(cellSysutil, 0x8AD11D24, cellSysutil_8AD11D24);
REG_FNID(cellSysutil, 0x134034CE, cellSysutil_134034CE);
REG_FNID(cellSysutil, 0x79EFF338, cellSysutil_79EFF338);
REG_FNID(cellSysutil, 0x40719C8C, cellSysutil_40719C8C);
REG_FNID(cellSysutil, 0x0B8D63AE, cellSysutil_0B8D63AE);
REG_FNID(cellSysutil, 0x35F7ED00, cellSysutil_35F7ED00); //The Fight
REG_FNID(cellSysutil, 0x40C7538E, cellSysutil_40C7538E0); //The Fight
REG_FNID(cellSysutil, 0xD3CDD694, cellSysutil_D3CDD694); //The Fight
REG_FNID(cellSysutil, 0x0633EDC2, cellSysutil_0633EDC2); //Killzone 3
REG_FNID(cellSysutil, 0x58B963E5, cellSysutil_58B963E5); //Super Stardust HD
REG_FNID(cellSysutil, 0x933B103D, cellSysutil_933B103D); //Kung fuu rider
REG_FNID(cellSysutil, 0xFB1E70A0, cellSysutil_FB1E70A0); //Libscreenshot
REG_FNID(cellSysutil, 0x6AF9FD89, cellSysutil_6AF9FD89); //DBZ Burst Limit
REG_FNID(cellSysutil, 0x505FA917, cellSysutil_505FA917); //Infamous 2
REG_FNID(cellSysutil, 0x44F288A7, cellSysutil_44F288A7); //Big Sky Infinity
REG_FNID(cellSysutil, 0x4986187C, cellSysutil_4986187C); //Big Sky Infinity
REG_FNID(cellSysutil, 0xA297525E, cellSysutil_A297525E); //THE KING OF FIGHTERS XII
});

View file

@ -484,6 +484,11 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr<CellVdecAuInf
return CELL_VDEC_ERROR_ARG;
}
if (mode == CELL_VDEC_DEC_MODE_B_SKIP || !vdec)
{
return CELL_VDEC_ERROR_BUSY;
}
if (mode != CELL_VDEC_DEC_MODE_NORMAL)
{
fmt::throw_exception("Unsupported decoding mode (%d)" HERE, (s32)mode);
@ -555,7 +560,7 @@ s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u
if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709)
{
fmt::throw_exception("Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
LOG_ERROR(HLE, "Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
}
if (alpha_plane)

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
@ -1478,12 +1478,14 @@ s32 _sceNpSysutilClientFree()
s32 _Z33_sce_np_sysutil_send_empty_packetiPN16sysutil_cxmlutil11FixedMemoryEPKcS3_()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
s32 _Z27_sce_np_sysutil_send_packetiRN4cxml8DocumentE()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
s32 _Z36_sce_np_sysutil_recv_packet_fixedmemiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE()
@ -1498,7 +1500,8 @@ s32 _Z40_sce_np_sysutil_recv_packet_fixedmem_subiPN16sysutil_cxmlutil11FixedMemo
s32 _Z27_sce_np_sysutil_recv_packetiRN4cxml8DocumentERNS_7ElementE()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
s32 _Z29_sce_np_sysutil_cxml_set_npidRN4cxml8DocumentERNS_7ElementEPKcPK7SceNpId()
@ -1518,7 +1521,8 @@ s32 _Z37sce_np_matching_set_matching2_runningb()
s32 _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
s32 sceNp_AFC62605()
@ -1527,6 +1531,12 @@ s32 sceNp_AFC62605()
return CELL_OK;
}
s32 sceNp_A41DDED6()
{
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
DECLARE(ppu_module_manager::sceNp)("sceNp", []()
{
REG_FUNC(sceNp, sceNpInit);
@ -1761,4 +1771,5 @@ DECLARE(ppu_module_manager::sceNp)("sceNp", []()
REG_FUNC(sceNp, _Z37sce_np_matching_set_matching2_runningb);
REG_FUNC(sceNp, _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i);
REG_FNID(sceNp, 0xAFC62605, sceNp_AFC62605);
REG_FNID(sceNp, 0xA41DDED6, sceNp_A41DDED6); //NpCommerce2 Splatherhouse
});

View file

@ -234,7 +234,8 @@ s32 sceNpMatching2SetSignalingOptParam()
s32 sceNpMatching2RegisterContextCallback()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
}
s32 sceNpMatching2SendRoomChatMessage()
@ -274,7 +275,8 @@ s32 sceNpMatching2GrantRoomOwner()
s32 sceNpMatching2CreateContext()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
}
s32 sceNpMatching2GetSignalingOptParamLocal()
@ -324,12 +326,14 @@ s32 sceNpMatching2DeleteServerContext()
s32 sceNpMatching2SetDefaultRequestOptParam()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
}
s32 sceNpMatching2RegisterRoomEventCallback()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
}
s32 sceNpMatching2GetRoomPasswordLocal()
@ -379,7 +383,8 @@ s32 sceNpMatching2SetLobbyMemberDataInternal()
s32 sceNpMatching2RegisterRoomMessageCallback()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
}

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
@ -176,6 +176,23 @@ s32 console_write(vm::ptr<char> data, u32 len)
return CELL_OK;
}
s32 sysPrxForUser_B5D5F64E()
{
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
s32 sysPrxForUser_3EF17F8C()
{
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
s32 sysPrxForUser_9FB6228E()
{
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
extern void sysPrxForUser_sys_lwmutex_init();
extern void sysPrxForUser_sys_lwcond_init();
@ -223,4 +240,7 @@ DECLARE(ppu_module_manager::sysPrxForUser)("sysPrxForUser", []()
REG_FUNC(sysPrxForUser, console_getc);
REG_FUNC(sysPrxForUser, console_putc);
REG_FUNC(sysPrxForUser, console_write);
REG_FNID(sysPrxForUser, 0xB5D5F64E, sysPrxForUser_B5D5F64E);
REG_FNID(sysPrxForUser, 0x3EF17F8C, sysPrxForUser_3EF17F8C); //Np_Util Uncharted 3
REG_FNID(sysPrxForUser, 0x9FB6228E, sysPrxForUser_9FB6228E); //Np_commerce2 Splatherhouse
});

View file

@ -354,7 +354,8 @@ s32 _sys_vsprintf()
s32 _sys_qsort()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
void sysPrxForUser_sys_libc_init()

View file

@ -20,7 +20,8 @@ struct memory_pool_t
s32 sys_mempool_allocate_block()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
s32 sys_mempool_create(vm::ptr<sys_mempool_t> mempool, vm::ptr<void> chunk, const u64 chunk_size, const u64 block_size, const u64 ralignment)

View file

@ -103,12 +103,14 @@ void sys_ppu_thread_once(ppu_thread& ppu, vm::ptr<atomic_be_t<u32>> once_ctrl, v
s32 sys_ppu_thread_register_atexit()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
s32 sys_ppu_thread_unregister_atexit()
{
fmt::throw_exception("Unimplemented" HERE);
UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
}
void sysPrxForUser_sys_ppu_thread_init()

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Emu/System.h"
#include "PPUThread.h"
#include "PPUInterpreter.h"
@ -292,12 +292,15 @@ const g_ppu_scale_table;
bool ppu_interpreter::MFVSCR(ppu_thread& ppu, ppu_opcode_t op)
{
fmt::throw_exception<std::logic_error>("MFVSCR instruction at 0x%x (%s)", ppu.cia, Emu.GetTitleID());
ppu.vr[op.vd].clear();
ppu.vr[op.vd]._u32[0] = ppu.vscr.vscr;
return true;
}
bool ppu_interpreter::MTVSCR(ppu_thread& ppu, ppu_opcode_t op)
{
LOG_WARNING(PPU, "MTVSCR");
ppu.vscr.vscr = ppu.vr[op.vb]._u32[0];
ppu.vscr.X = ppu.vscr.Y = 0;
return true;
}
@ -2181,7 +2184,7 @@ bool ppu_interpreter::TW(ppu_thread& ppu, ppu_opcode_t op)
((u32)a < (u32)b && (op.bo & 0x2)) ||
((u32)a >(u32)b && (op.bo & 0x1)))
{
fmt::throw_exception("Trap!" HERE);
LOG_ERROR(PPU, "Trap! (0x%x)" HERE, (u32) TW);
}
return true;
@ -2306,7 +2309,7 @@ bool ppu_interpreter::CNTLZW(ppu_thread& ppu, ppu_opcode_t op)
bool ppu_interpreter::SLD(ppu_thread& ppu, ppu_opcode_t op)
{
const u32 n = ppu.gpr[op.rb];
const u64 n = ppu.gpr[op.rb];
ppu.gpr[op.ra] = UNLIKELY(n & 0x40) ? 0 : ppu.gpr[op.rs] << n;
if (UNLIKELY(op.rc)) ppu_cr_set<s64>(ppu, 0, ppu.gpr[op.ra], 0);
return true;
@ -3017,7 +3020,7 @@ bool ppu_interpreter::SRW(ppu_thread& ppu, ppu_opcode_t op)
bool ppu_interpreter::SRD(ppu_thread& ppu, ppu_opcode_t op)
{
const u32 n = ppu.gpr[op.rb];
const u64 n = ppu.gpr[op.rb];
ppu.gpr[op.ra] = UNLIKELY(n & 0x40) ? 0 : ppu.gpr[op.rs] >> n;
if (UNLIKELY(op.rc)) ppu_cr_set<s64>(ppu, 0, ppu.gpr[op.ra], 0);
return true;

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Utilities/Config.h"
#include "Utilities/VirtualMemory.h"
#include "Emu/Memory/Memory.h"
@ -415,7 +415,11 @@ u32 ppu_thread::stack_push(u32 size, u32 align_v)
if (context.gpr[1] < context.stack_addr)
{
fmt::throw_exception("Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)" HERE, size, align_v, old_pos, context.stack_addr);
LOG_ERROR(PPU, "Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)" HERE, size, align_v, old_pos, context.stack_addr);
const u32 addr = static_cast<u32>(context.gpr[1]);
vm::ps3::_ref<nse_t<u32>>(addr + size) = old_pos;
std::memset(vm::base(addr), 0, size);
return addr;
}
else
{

View file

@ -17,6 +17,18 @@ enum class ppu_cmd : u32
initialize, // ppu_initialize()
};
union VSCRhdr
{
u32 vscr;
struct
{
u32 sat : 1;
u32 X : 15;
u32 nj : 1;
u32 Y : 15;
};
};
class ppu_thread : public cpu_thread
{
public:
@ -35,6 +47,7 @@ public:
u64 gpr[32] = {}; // General-Purpose Registers
f64 fpr[32] = {}; // Floating Point Registers
v128 vr[32] = {}; // Vector Registers
VSCRhdr vscr{}; // Vector Status and Control Register
alignas(16) bool cr[32] = {}; // Condition Registers (abstract representation)

View file

@ -917,7 +917,7 @@ void spu_recompiler::BISL(spu_opcode_t op)
void spu_recompiler::IRET(spu_opcode_t op)
{
fmt::throw_exception("Unimplemented instruction" HERE);
LOG_ERROR(SPU, "Unimplemented instruction" HERE);
}
void spu_recompiler::BISLED(spu_opcode_t op)
@ -2052,7 +2052,7 @@ void spu_recompiler::BRNZ(spu_opcode_t op)
{
const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
if (target == m_pos) LOG_ERROR(SPU, "Branch-to-self (0x%05x)" HERE, target);
c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0);

View file

@ -495,7 +495,7 @@ void SPUThread::process_mfc_cmd(u32 cmd)
return;
}
fmt::throw_exception("Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE,
LOG_ERROR(SPU, "Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE,
get_mfc_cmd_name(cmd), cmd, ch_mfc_args.lsa, ch_mfc_args.ea, ch_mfc_args.tag, ch_mfc_args.size);
}
@ -1119,7 +1119,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
}
}
fmt::throw_exception("Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
LOG_ERROR(SPU, "Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
}
bool SPUThread::stop_and_signal(u32 code)

View file

@ -129,7 +129,18 @@ error_code sys_fs_open(vm::cptr<char> path, s32 flags, vm::ptr<u32> fd, s32 mode
fmt::throw_exception("sys_fs_open(%s): Invalid or unimplemented flags: %#o" HERE, path, flags);
}
fs::file file(local_path, open_mode);
const char *path_ptr = path.get_ptr();
if (strstr(path.get_ptr(), "/dev_hdd0") &&
strncmp(path.get_ptr(), "/dev_hdd0", 9))
{
path_ptr = strstr(path_ptr, "/dev_hdd0");
LOG_ERROR(HLE, "Path contains device root path but not at the start!");
LOG_ERROR(HLE, "Path given is (%s), modified to (%s)", path.get_ptr(), path_ptr);
}
fs::file file(local_path, open_mode);
if (!file)
{

View file

@ -372,7 +372,7 @@ namespace vm
if (!size || (size | addr) % 4096)
{
fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
LOG_ERROR(MEMORY, "Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
}
const u8 flags_inv = flags_set & flags_clear;

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
@ -27,6 +27,7 @@ void FragmentProgramDecompiler::SetDst(std::string code, bool append_mask)
case 1: code = "(" + code + " * 2.0)"; break;
case 2: code = "(" + code + " * 4.0)"; break;
case 3: code = "(" + code + " * 8.0)"; break;
case 4: code = "(" + code + " * 6.0)"; break; // Test for Cubixx
case 5: code = "(" + code + " / 2.0)"; break;
case 6: code = "(" + code + " / 4.0)"; break;
case 7: code = "(" + code + " / 8.0)"; break;

View file

@ -61,7 +61,7 @@ public:
template<int Alignement>
size_t alloc(size_t size)
{
if (!can_alloc<Alignement>(size)) fmt::throw_exception("Working buffer not big enough" HERE);
if (!can_alloc<Alignement>(size)) LOG_ERROR(RSX, "Working buffer not big enough" HERE);
size_t alloc_size = align(size, Alignement);
size_t aligned_put_pos = align(m_put_pos, Alignement);
if (aligned_put_pos + alloc_size < m_size)

View file

@ -990,6 +990,7 @@ rsx::blit_engine::context_dma rsx::blit_engine::to_context_dma(u32 in)
{
switch (in)
{
case CELL_GCM_CONTEXT_DMA_MEMORY_HOST_BUFFER: return rsx::blit_engine::context_dma::memory_host_buffer; //Killzone 2
case CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT: return rsx::blit_engine::context_dma::to_memory_get_report;
case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: return rsx::blit_engine::context_dma::report_location_main;
}

View file

@ -374,6 +374,7 @@ namespace rsx
enum class context_dma : u8
{
memory_host_buffer,
to_memory_get_report,
report_location_main,
};

View file

@ -1,4 +1,4 @@
#include "stdafx.h"
#include "stdafx.h"
#include "Utilities/Config.h"
#include "rsx_methods.h"
#include "RSXThread.h"
@ -31,7 +31,7 @@ namespace rsx
[[noreturn]] void invalid_method(thread*, u32 _reg, u32 arg)
{
fmt::throw_exception("Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
LOG_ERROR( RSX, "Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
}
template<typename Type> struct vertex_data_type_from_element_type;
@ -285,6 +285,7 @@ namespace rsx
switch (report_dma)
{
case blit_engine::context_dma::memory_host_buffer: location = CELL_GCM_LOCATION_MAIN; break;
case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break;
case blit_engine::context_dma::report_location_main: location = CELL_GCM_LOCATION_MAIN; break;
default:

View file

@ -551,6 +551,7 @@
<ClInclude Include="Emu\Cell\Modules\cellMsgDialog.h" />
<ClInclude Include="Emu\Cell\Modules\cellMusic.h" />
<ClInclude Include="Emu\Cell\Modules\cellNetCtl.h" />
<ClInclude Include="Emu\Cell\Modules\cellOskDialog.h" />
<ClInclude Include="Emu\Cell\Modules\cellPad.h" />
<ClInclude Include="Emu\Cell\Modules\cellPamf.h" />
<ClInclude Include="Emu\Cell\Modules\cellPng.h" />

View file

@ -1288,6 +1288,9 @@
<ClInclude Include="Emu\Cell\Modules\cellNetCtl.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
<ClInclude Include="Emu\Cell\Modules\cellOskDialog.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
<ClInclude Include="Emu\Cell\Modules\cellPad.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>