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
View File
@@ -85,3 +85,5 @@ CMakeCache.txt
# cotire # cotire
rpcs3/cotire/* rpcs3/cotire/*
rpcs3/rpcs3_*_cotire.cmake rpcs3/rpcs3_*_cotire.cmake
/.vs/rpcs3/v15/ipch/AutoPCH/VKGSRENDER-1a48cf59/VKGSRENDER-717b8989/*.ipch
/.vs/rpcs3/v15/ipch/EMUCORE-4bdb26ae/*.ipch
+292 -9
View File
@@ -6,7 +6,7 @@ extern "C" {
#endif #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 ** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the ** 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 ** used to make the header, and the header can be found at
** http://www.opengl.org/registry/ ** 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__) #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@@ -53,7 +53,7 @@ extern "C" {
#define GLAPI extern #define GLAPI extern
#endif #endif
#define GL_GLEXT_VERSION 20150514 #define GL_GLEXT_VERSION 20161024
/* Generated C header for: /* Generated C header for:
* API: gl * 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 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 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 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 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 GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target);
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param); 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 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 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 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 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 GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target);
GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param); 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 #define GL_ARB_ES3_1_compatibility 1
#endif /* GL_ARB_ES3_1_compatibility */ #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 #ifndef GL_ARB_ES3_compatibility
#define GL_ARB_ES3_compatibility 1 #define GL_ARB_ES3_compatibility 1
#endif /* GL_ARB_ES3_compatibility */ #endif /* GL_ARB_ES3_compatibility */
@@ -3288,6 +3299,10 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
#endif /* GL_ARB_fragment_shader */ #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 #ifndef GL_ARB_framebuffer_no_attachments
#define GL_ARB_framebuffer_no_attachments 1 #define GL_ARB_framebuffer_no_attachments 1
#endif /* GL_ARB_framebuffer_no_attachments */ #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 #define GL_ARB_gpu_shader_fp64 1
#endif /* GL_ARB_gpu_shader_fp64 */ #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 #ifndef GL_ARB_half_float_pixel
#define GL_ARB_half_float_pixel 1 #define GL_ARB_half_float_pixel 1
typedef unsigned short GLhalfARB; typedef unsigned short GLhalfARB;
@@ -3727,6 +3827,16 @@ GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *par
#define GL_ARB_occlusion_query2 1 #define GL_ARB_occlusion_query2 1
#endif /* GL_ARB_occlusion_query2 */ #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 #ifndef GL_ARB_pipeline_statistics_query
#define GL_ARB_pipeline_statistics_query 1 #define GL_ARB_pipeline_statistics_query 1
#define GL_VERTICES_SUBMITTED_ARB 0x82EE #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 #define GL_COORD_REPLACE_ARB 0x8862
#endif /* GL_ARB_point_sprite */ #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 #ifndef GL_ARB_program_interface_query
#define GL_ARB_program_interface_query 1 #define GL_ARB_program_interface_query 1
#endif /* GL_ARB_program_interface_query */ #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 #define GL_ARB_robustness_isolation 1
#endif /* GL_ARB_robustness_isolation */ #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 #ifndef GL_ARB_sample_shading
#define GL_ARB_sample_shading 1 #define GL_ARB_sample_shading 1
#define GL_SAMPLE_SHADING_ARB 0x8C36 #define GL_SAMPLE_SHADING_ARB 0x8C36
@@ -3868,14 +4002,26 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
#define GL_ARB_separate_shader_objects 1 #define GL_ARB_separate_shader_objects 1
#endif /* GL_ARB_separate_shader_objects */ #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 #ifndef GL_ARB_shader_atomic_counters
#define GL_ARB_shader_atomic_counters 1 #define GL_ARB_shader_atomic_counters 1
#endif /* GL_ARB_shader_atomic_counters */ #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 #ifndef GL_ARB_shader_bit_encoding
#define GL_ARB_shader_bit_encoding 1 #define GL_ARB_shader_bit_encoding 1
#endif /* GL_ARB_shader_bit_encoding */ #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 #ifndef GL_ARB_shader_draw_parameters
#define GL_ARB_shader_draw_parameters 1 #define GL_ARB_shader_draw_parameters 1
#endif /* GL_ARB_shader_draw_parameters */ #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 #define GL_ARB_shader_texture_lod 1
#endif /* GL_ARB_shader_texture_lod */ #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 #ifndef GL_ARB_shading_language_100
#define GL_ARB_shading_language_100 1 #define GL_ARB_shading_language_100 1
#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
@@ -4119,6 +4269,14 @@ GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xo
#endif #endif
#endif /* GL_ARB_sparse_texture */ #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 #ifndef GL_ARB_stencil_texturing
#define GL_ARB_stencil_texturing 1 #define GL_ARB_stencil_texturing 1
#endif /* GL_ARB_stencil_texturing */ #endif /* GL_ARB_stencil_texturing */
@@ -4271,6 +4429,12 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void
#define GL_DOT3_RGBA_ARB 0x86AF #define GL_DOT3_RGBA_ARB 0x86AF
#endif /* GL_ARB_texture_env_dot3 */ #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 #ifndef GL_ARB_texture_float
#define GL_ARB_texture_float 1 #define GL_ARB_texture_float 1
#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 #define GL_TEXTURE_RED_TYPE_ARB 0x8C10
@@ -4815,6 +4979,10 @@ GLAPI void APIENTRY glBlendBarrierKHR (void);
#define GL_KHR_texture_compression_astc_ldr 1 #define GL_KHR_texture_compression_astc_ldr 1
#endif /* GL_KHR_texture_compression_astc_ldr */ #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 #ifndef GL_OES_byte_coordinates
#define GL_OES_byte_coordinates 1 #define GL_OES_byte_coordinates 1
typedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s); 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 #define GL_AMD_gcn_shader 1
#endif /* GL_AMD_gcn_shader */ #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 #ifndef GL_AMD_gpu_shader_int64
#define GL_AMD_gpu_shader_int64 1 #define GL_AMD_gpu_shader_int64 1
typedef int64_t GLint64EXT; typedef int64_t GLint64EXT;
@@ -5237,10 +5422,6 @@ typedef int64_t GLint64EXT;
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 #define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 #define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 #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 PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); 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 #define GL_AMD_shader_atomic_counter_ops 1
#endif /* GL_AMD_shader_atomic_counter_ops */ #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 #ifndef GL_AMD_shader_stencil_export
#define GL_AMD_shader_stencil_export 1 #define GL_AMD_shader_stencil_export 1
#endif /* GL_AMD_shader_stencil_export */ #endif /* GL_AMD_shader_stencil_export */
@@ -8468,6 +8657,20 @@ GLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei s
#endif #endif
#endif /* GL_EXT_vertex_weighting */ #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 #ifndef GL_EXT_x11_sync_object
#define GL_EXT_x11_sync_object 1 #define GL_EXT_x11_sync_object 1
#define GL_SYNC_X11_FENCE_EXT 0x90E1 #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 #define GL_INTERLACE_READ_INGR 0x8568
#endif /* GL_INGR_interlace_read */ #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 #ifndef GL_INTEL_fragment_shader_ordering
#define GL_INTEL_fragment_shader_ordering 1 #define GL_INTEL_fragment_shader_ordering 1
#endif /* GL_INTEL_fragment_shader_ordering */ #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 #ifndef GL_INTEL_map_texture
#define GL_INTEL_map_texture 1 #define GL_INTEL_map_texture 1
#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF #define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF
@@ -8953,6 +9169,17 @@ GLAPI void APIENTRY glBlendBarrierNV (void);
#define GL_NV_blend_square 1 #define GL_NV_blend_square 1
#endif /* GL_NV_blend_square */ #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 #ifndef GL_NV_command_list
#define GL_NV_command_list 1 #define GL_NV_command_list 1
#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000 #define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000
@@ -9044,6 +9271,28 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
#endif #endif
#endif /* GL_NV_conservative_raster */ #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 #ifndef GL_NV_copy_depth_to_color
#define GL_NV_copy_depth_to_color 1 #define GL_NV_copy_depth_to_color 1
#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
@@ -10036,6 +10285,11 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname,
#endif #endif
#endif /* GL_NV_register_combiners2 */ #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 #ifndef GL_NV_sample_locations
#define GL_NV_sample_locations 1 #define GL_NV_sample_locations 1
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D #define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
@@ -10068,6 +10322,10 @@ GLAPI void APIENTRY glResolveDepthValuesNV (void);
#define GL_NV_shader_atomic_float 1 #define GL_NV_shader_atomic_float 1
#endif /* GL_NV_shader_atomic_float */ #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 #ifndef GL_NV_shader_atomic_fp16_vector
#define GL_NV_shader_atomic_fp16_vector 1 #define GL_NV_shader_atomic_fp16_vector 1
#endif /* GL_NV_shader_atomic_fp16_vector */ #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 #define GL_NV_shader_thread_shuffle 1
#endif /* GL_NV_shader_thread_shuffle */ #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 #ifndef GL_NV_tessellation_program5
#define GL_NV_tessellation_program5 1 #define GL_NV_tessellation_program5 1
#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 #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 #define GL_NV_viewport_array2 1
#endif /* GL_NV_viewport_array2 */ #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 #ifndef GL_OML_interlace
#define GL_OML_interlace 1 #define GL_OML_interlace 1
#define GL_INTERLACE_OML 0x8980 #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_NUM_VIEWS_OVR 0x9630
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
#define GL_MAX_VIEWS_OVR 0x9631 #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); typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
#ifdef GL_GLEXT_PROTOTYPES #ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
+1 -1
Submodule asmjit updated: b0dad1af25...6758955e8c
+1 -1
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 decompress(unsigned char *out, unsigned char *in, unsigned int size)
{ {
int result; __int64 result;
unsigned char *tmp = new unsigned char[0xCC8]; unsigned char *tmp = new unsigned char[0xCC8];
+2 -1
View File
@@ -95,7 +95,8 @@ s32 cellAudioOutSetDeviceMode()
s32 cellAudioInSetDeviceMode() s32 cellAudioInSetDeviceMode()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellAvconfExt);
return CELL_OK;
} }
s32 cellAudioInRegisterDevice() s32 cellAudioInRegisterDevice()
+7 -4
View File
@@ -554,7 +554,7 @@ s32 cellFontExtend(u32 a1, u32 a2, u32 a3)
//Something happens //Something happens
} }
//Something happens? //Something happens?
return CELL_OK; return -1;
} }
s32 cellFontRenderCharGlyphImageVertical() s32 cellFontRenderCharGlyphImageVertical()
@@ -587,7 +587,8 @@ s32 cellFontGraphicsGetDrawType()
s32 cellFontGetKerning() s32 cellFontGetKerning()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
} }
s32 cellFontGetRenderScaledKerning() s32 cellFontGetRenderScaledKerning()
@@ -622,7 +623,8 @@ s32 cellFontGetEffectWeight()
s32 cellFontGetScalePixel() s32 cellFontGetScalePixel()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
} }
s32 cellFontClearFileCache() s32 cellFontClearFileCache()
@@ -637,7 +639,8 @@ s32 cellFontAdjustFontScaling()
s32 cellFontSetupRenderScalePoint() s32 cellFontSetupRenderScalePoint()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellFont);
return CELL_OK;
} }
s32 cellFontGlyphGetVerticalShift() s32 cellFontGlyphGetVerticalShift()
+2 -1
View File
@@ -892,7 +892,8 @@ s32 cellFsChangeFileSizeByFdWithoutAllocation()
s32 cellFsSetDiscReadRetrySetting() s32 cellFsSetDiscReadRetrySetting()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellFs);
return CELL_OK;
} }
s32 cellFsRegisterConversionCallback() s32 cellFsRegisterConversionCallback()
+5 -3
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "Emu/IdManager.h" #include "Emu/IdManager.h"
#include "Emu/Cell/PPUModule.h" #include "Emu/Cell/PPUModule.h"
@@ -181,7 +181,8 @@ s32 cellHddGameCheck2()
s32 cellHddGameGetSizeKB() s32 cellHddGameGetSizeKB()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellGame);
return CELL_OK;
} }
s32 cellHddGameSetSystemVer() s32 cellHddGameSetSystemVer()
@@ -191,7 +192,8 @@ s32 cellHddGameSetSystemVer()
s32 cellHddGameExitBroken() s32 cellHddGameExitBroken()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellGame);
return CELL_OK;
} }
+8 -4
View File
@@ -1136,7 +1136,8 @@ void cellGcmSetDefaultCommandBuffer()
s32 cellGcmSetDefaultCommandBufferAndSegmentWordSize() 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() s32 _cellGcmFunc2()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
} }
s32 _cellGcmFunc3() s32 _cellGcmFunc3()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
} }
s32 _cellGcmFunc4() s32 _cellGcmFunc4()
@@ -1220,7 +1223,8 @@ s32 _cellGcmFunc4()
s32 _cellGcmFunc13() s32 _cellGcmFunc13()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellGcmSys);
return CELL_OK;
} }
s32 _cellGcmFunc38() s32 _cellGcmFunc38()
+103 -2
View File
@@ -10,9 +10,110 @@
extern logs::channel cellSysutil; 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) s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
+2 -1
View File
@@ -139,7 +139,8 @@ s32 cellNetCtlGetNatInfo(vm::ptr<CellNetCtlNatInfo> natInfo)
s32 cellGameUpdateInit() s32 cellGameUpdateInit()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(cellNetCtl);
return CELL_OK;
} }
s32 cellGameUpdateTerm() s32 cellGameUpdateTerm()
+1 -1
View File
@@ -634,7 +634,7 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
} }
// Calculate the image size // 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 // Buffer for storing the image
std::vector<u8> png(image_size); std::vector<u8> png(image_size);
+208 -2
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Utilities/Config.h" #include "Utilities/Config.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "Emu/IdManager.h" #include "Emu/IdManager.h"
@@ -380,7 +380,8 @@ s32 cellSysutilSetBgmPlaybackExtraParam()
s32 cellSysutilRegisterCallbackDispatcher() s32 cellSysutilRegisterCallbackDispatcher()
{ {
fmt::throw_exception("Unimplemented" HERE); cellSysutil.todo("cellSysutilRegisterCallbackDispatcher()");
return CELL_OK;
} }
s32 cellSysutilPacketWrite() s32 cellSysutilPacketWrite()
@@ -419,6 +420,173 @@ s32 cellSysutil_E1EC7B6A()
return CELL_OK; 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_SaveData_init();
extern void cellSysutil_GameData_init(); extern void cellSysutil_GameData_init();
extern void cellSysutil_MsgDialog_init(); extern void cellSysutil_MsgDialog_init();
@@ -469,5 +637,43 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []()
REG_FUNC(cellSysutil, cellSysutilGameExit_I); REG_FUNC(cellSysutil, cellSysutilGameExit_I);
REG_FUNC(cellSysutil, cellSysutilGamePowerOff_I); REG_FUNC(cellSysutil, cellSysutilGamePowerOff_I);
REG_FUNC(cellSysutil, cellSysutilGameReboot_I); REG_FUNC(cellSysutil, cellSysutilGameReboot_I);
REG_FNID(cellSysutil, 0xE1EC7B6A, cellSysutil_E1EC7B6A); 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
}); });
+6 -1
View File
@@ -484,6 +484,11 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr<CellVdecAuInf
return CELL_VDEC_ERROR_ARG; 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) if (mode != CELL_VDEC_DEC_MODE_NORMAL)
{ {
fmt::throw_exception("Unsupported decoding mode (%d)" HERE, (s32)mode); 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) 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) if (alpha_plane)
+16 -5
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "Emu/Cell/PPUModule.h" #include "Emu/Cell/PPUModule.h"
@@ -1478,12 +1478,14 @@ s32 _sceNpSysutilClientFree()
s32 _Z33_sce_np_sysutil_send_empty_packetiPN16sysutil_cxmlutil11FixedMemoryEPKcS3_() 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() 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() 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() 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() 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() 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() s32 sceNp_AFC62605()
@@ -1527,6 +1531,12 @@ s32 sceNp_AFC62605()
return CELL_OK; return CELL_OK;
} }
s32 sceNp_A41DDED6()
{
UNIMPLEMENTED_FUNC(sceNp);
return CELL_OK;
}
DECLARE(ppu_module_manager::sceNp)("sceNp", []() DECLARE(ppu_module_manager::sceNp)("sceNp", []()
{ {
REG_FUNC(sceNp, sceNpInit); 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, _Z37sce_np_matching_set_matching2_runningb);
REG_FUNC(sceNp, _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i); REG_FUNC(sceNp, _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i);
REG_FNID(sceNp, 0xAFC62605, sceNp_AFC62605); REG_FNID(sceNp, 0xAFC62605, sceNp_AFC62605);
REG_FNID(sceNp, 0xA41DDED6, sceNp_A41DDED6); //NpCommerce2 Splatherhouse
}); });
+10 -5
View File
@@ -234,7 +234,8 @@ s32 sceNpMatching2SetSignalingOptParam()
s32 sceNpMatching2RegisterContextCallback() s32 sceNpMatching2RegisterContextCallback()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
} }
s32 sceNpMatching2SendRoomChatMessage() s32 sceNpMatching2SendRoomChatMessage()
@@ -274,7 +275,8 @@ s32 sceNpMatching2GrantRoomOwner()
s32 sceNpMatching2CreateContext() s32 sceNpMatching2CreateContext()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
} }
s32 sceNpMatching2GetSignalingOptParamLocal() s32 sceNpMatching2GetSignalingOptParamLocal()
@@ -324,12 +326,14 @@ s32 sceNpMatching2DeleteServerContext()
s32 sceNpMatching2SetDefaultRequestOptParam() s32 sceNpMatching2SetDefaultRequestOptParam()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
} }
s32 sceNpMatching2RegisterRoomEventCallback() s32 sceNpMatching2RegisterRoomEventCallback()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
} }
s32 sceNpMatching2GetRoomPasswordLocal() s32 sceNpMatching2GetRoomPasswordLocal()
@@ -379,7 +383,8 @@ s32 sceNpMatching2SetLobbyMemberDataInternal()
s32 sceNpMatching2RegisterRoomMessageCallback() s32 sceNpMatching2RegisterRoomMessageCallback()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sceNp2);
return CELL_OK;
} }
+21 -1
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "Emu/Cell/PPUModule.h" #include "Emu/Cell/PPUModule.h"
@@ -176,6 +176,23 @@ s32 console_write(vm::ptr<char> data, u32 len)
return CELL_OK; 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_lwmutex_init();
extern void sysPrxForUser_sys_lwcond_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_getc);
REG_FUNC(sysPrxForUser, console_putc); REG_FUNC(sysPrxForUser, console_putc);
REG_FUNC(sysPrxForUser, console_write); 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
}); });
+2 -1
View File
@@ -354,7 +354,8 @@ s32 _sys_vsprintf()
s32 _sys_qsort() s32 _sys_qsort()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
} }
void sysPrxForUser_sys_libc_init() void sysPrxForUser_sys_libc_init()
+2 -1
View File
@@ -20,7 +20,8 @@ struct memory_pool_t
s32 sys_mempool_allocate_block() 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) 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)
+4 -2
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() s32 sys_ppu_thread_register_atexit()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
} }
s32 sys_ppu_thread_unregister_atexit() s32 sys_ppu_thread_unregister_atexit()
{ {
fmt::throw_exception("Unimplemented" HERE); UNIMPLEMENTED_FUNC(sysPrxForUser);
return CELL_OK;
} }
void sysPrxForUser_sys_ppu_thread_init() void sysPrxForUser_sys_ppu_thread_init()
+9 -6
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "PPUThread.h" #include "PPUThread.h"
#include "PPUInterpreter.h" #include "PPUInterpreter.h"
@@ -292,12 +292,15 @@ const g_ppu_scale_table;
bool ppu_interpreter::MFVSCR(ppu_thread& ppu, ppu_opcode_t op) 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) 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; 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 & 0x2)) ||
((u32)a >(u32)b && (op.bo & 0x1))) ((u32)a >(u32)b && (op.bo & 0x1)))
{ {
fmt::throw_exception("Trap!" HERE); LOG_ERROR(PPU, "Trap! (0x%x)" HERE, (u32) TW);
} }
return true; 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) 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; 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); if (UNLIKELY(op.rc)) ppu_cr_set<s64>(ppu, 0, ppu.gpr[op.ra], 0);
return true; 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) 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; 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); if (UNLIKELY(op.rc)) ppu_cr_set<s64>(ppu, 0, ppu.gpr[op.ra], 0);
return true; return true;
+6 -2
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Utilities/Config.h" #include "Utilities/Config.h"
#include "Utilities/VirtualMemory.h" #include "Utilities/VirtualMemory.h"
#include "Emu/Memory/Memory.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) 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 else
{ {
+13
View File
@@ -17,6 +17,18 @@ enum class ppu_cmd : u32
initialize, // ppu_initialize() 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 class ppu_thread : public cpu_thread
{ {
public: public:
@@ -35,6 +47,7 @@ public:
u64 gpr[32] = {}; // General-Purpose Registers u64 gpr[32] = {}; // General-Purpose Registers
f64 fpr[32] = {}; // Floating Point Registers f64 fpr[32] = {}; // Floating Point Registers
v128 vr[32] = {}; // Vector Registers v128 vr[32] = {}; // Vector Registers
VSCRhdr vscr{}; // Vector Status and Control Register
alignas(16) bool cr[32] = {}; // Condition Registers (abstract representation) alignas(16) bool cr[32] = {}; // Condition Registers (abstract representation)
+2 -2
View File
@@ -917,7 +917,7 @@ void spu_recompiler::BISL(spu_opcode_t op)
void spu_recompiler::IRET(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) 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); 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); c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0);
+2 -2
View File
@@ -495,7 +495,7 @@ void SPUThread::process_mfc_cmd(u32 cmd)
return; 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); 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) bool SPUThread::stop_and_signal(u32 code)
+12 -1
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); 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) if (!file)
{ {
+1 -1
View File
@@ -372,7 +372,7 @@ namespace vm
if (!size || (size | addr) % 4096) 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; const u8 flags_inv = flags_set & flags_clear;
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/System.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 1: code = "(" + code + " * 2.0)"; break;
case 2: code = "(" + code + " * 4.0)"; break; case 2: code = "(" + code + " * 4.0)"; break;
case 3: code = "(" + code + " * 8.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 5: code = "(" + code + " / 2.0)"; break;
case 6: code = "(" + code + " / 4.0)"; break; case 6: code = "(" + code + " / 4.0)"; break;
case 7: code = "(" + code + " / 8.0)"; break; case 7: code = "(" + code + " / 8.0)"; break;
+1 -1
View File
@@ -61,7 +61,7 @@ public:
template<int Alignement> template<int Alignement>
size_t alloc(size_t size) 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 alloc_size = align(size, Alignement);
size_t aligned_put_pos = align(m_put_pos, Alignement); size_t aligned_put_pos = align(m_put_pos, Alignement);
if (aligned_put_pos + alloc_size < m_size) if (aligned_put_pos + alloc_size < m_size)
+1
View File
@@ -990,6 +990,7 @@ rsx::blit_engine::context_dma rsx::blit_engine::to_context_dma(u32 in)
{ {
switch (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_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; case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: return rsx::blit_engine::context_dma::report_location_main;
} }
+1
View File
@@ -374,6 +374,7 @@ namespace rsx
enum class context_dma : u8 enum class context_dma : u8
{ {
memory_host_buffer,
to_memory_get_report, to_memory_get_report,
report_location_main, report_location_main,
}; };
+3 -2
View File
@@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Utilities/Config.h" #include "Utilities/Config.h"
#include "rsx_methods.h" #include "rsx_methods.h"
#include "RSXThread.h" #include "RSXThread.h"
@@ -31,7 +31,7 @@ namespace rsx
[[noreturn]] void invalid_method(thread*, u32 _reg, u32 arg) [[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; template<typename Type> struct vertex_data_type_from_element_type;
@@ -285,6 +285,7 @@ namespace rsx
switch (report_dma) 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::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break;
case blit_engine::context_dma::report_location_main: location = CELL_GCM_LOCATION_MAIN; break; case blit_engine::context_dma::report_location_main: location = CELL_GCM_LOCATION_MAIN; break;
default: default:
+1
View File
@@ -551,6 +551,7 @@
<ClInclude Include="Emu\Cell\Modules\cellMsgDialog.h" /> <ClInclude Include="Emu\Cell\Modules\cellMsgDialog.h" />
<ClInclude Include="Emu\Cell\Modules\cellMusic.h" /> <ClInclude Include="Emu\Cell\Modules\cellMusic.h" />
<ClInclude Include="Emu\Cell\Modules\cellNetCtl.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\cellPad.h" />
<ClInclude Include="Emu\Cell\Modules\cellPamf.h" /> <ClInclude Include="Emu\Cell\Modules\cellPamf.h" />
<ClInclude Include="Emu\Cell\Modules\cellPng.h" /> <ClInclude Include="Emu\Cell\Modules\cellPng.h" />
+3
View File
@@ -1288,6 +1288,9 @@
<ClInclude Include="Emu\Cell\Modules\cellNetCtl.h"> <ClInclude Include="Emu\Cell\Modules\cellNetCtl.h">
<Filter>Emu\Cell\Modules</Filter> <Filter>Emu\Cell\Modules</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Emu\Cell\Modules\cellOskDialog.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
<ClInclude Include="Emu\Cell\Modules\cellPad.h"> <ClInclude Include="Emu\Cell\Modules\cellPad.h">
<Filter>Emu\Cell\Modules</Filter> <Filter>Emu\Cell\Modules</Filter>
</ClInclude> </ClInclude>