Commit Graph

294 Commits

Author SHA1 Message Date
twinaphex
cabfbd9aa0 Code deduplication 2017-07-27 09:47:58 +02:00
twinaphex
8a6b86f8b5 Cleanups 2017-07-27 09:41:56 +02:00
twinaphex
78dce88b34 Cleanups 2017-07-27 09:34:57 +02:00
twinaphex
744c8a9da5 Nit 2017-07-27 07:54:09 +02:00
twinaphex
3537e80b04 Refactor DrawBuffer 2017-07-27 07:48:36 +02:00
twinaphex
c956474ae9 Further simplifications 2017-07-27 06:56:50 +02:00
twinaphex
342ea4ce10 Fixes the crash at exit 2017-07-27 06:53:17 +02:00
twinaphex
e2efbd36aa Avoid unnecessary duplicate glUseProgram calls 2017-07-27 06:44:28 +02:00
twinaphex
6783b36199 use glIsProgram 2017-07-27 06:09:58 +02:00
twinaphex
d7ebc629a2 Cleanup 2017-07-27 06:05:44 +02:00
twinaphex
028a2c286e Get rid of uniform wrapper functions 2017-07-27 05:42:37 +02:00
twinaphex
d12bc1e307 Simplify uniform functions 2017-07-27 05:29:16 +02:00
twinaphex
4cce1af4d3 Cleanups 2017-07-27 05:02:43 +02:00
twinaphex
38d907f152 Cleanups 2017-07-27 04:58:28 +02:00
twinaphex
02bc03afe1 Cleanups 2017-07-27 04:57:22 +02:00
twinaphex
8efeb4e85d Texture_free is unneeded 2017-07-27 04:48:50 +02:00
twinaphex
e398fd19fa Program_find_attribute is a useless wrapper function 2017-07-27 04:45:27 +02:00
twinaphex
0bf67164a9 Rename to 'draw' to GlRenderer_draw 2017-07-27 04:42:23 +02:00
twinaphex
c4a0c5e577 Add early return to GlRenderer_free 2017-07-27 04:38:09 +02:00
twinaphex
3c85bd479f Create explicit new/free functions for GlRenderer and turn
GlRenderer into struct
2017-07-27 04:32:43 +02:00
twinaphex
0a0f2f624a Fixes crash at exit - still crashes for me when fullscreen
toggling though
2017-07-26 05:57:22 +02:00
twinaphex
9929e3d8a8 Revert "Crash at exit fixed now"
This reverts commit 3c35108030.
2017-07-26 05:55:28 +02:00
twinaphex
3c35108030 Crash at exit fixed now 2017-07-26 05:41:00 +02:00
twinaphex
4a35e5ca4e (GL) Get rid of unnecessary VAO wrapping 2017-07-26 05:35:02 +02:00
twinaphex
4f3600c803 Prevent more mismatching of new/delete and calloc/free 2017-07-26 05:05:10 +02:00
twinaphex
9e2356d0ec Cleanups 2017-07-26 04:56:39 +02:00
twinaphex
f915957607 Get rid of retrogl helper files 2017-07-26 04:52:03 +02:00
twinaphex
cc61d7e008 Combine more retrogl functions 2017-07-26 04:14:16 +02:00
twinaphex
f9964f8a4c Merge retrogl/error.c with rsx_lib_gl.cpp 2017-07-26 04:07:53 +02:00
twinaphex
f82929f32d Gets rid of one error, onto another 2017-07-26 03:51:32 +02:00
twinaphex
a254fd152f Cleanups 2017-07-25 09:07:28 +02:00
twinaphex
8dc59c7450 Try to prevent some crashes - still hang/crash at
fullscreen toggle
2017-07-25 09:00:47 +02:00
twinaphex
de41ed7739 MOre cleanups 2017-07-25 08:22:53 +02:00
twinaphex
b379b52367 Simplify TransparencyIndex 2017-07-25 07:56:08 +02:00
twinaphex
7fcbf59c6d Cleanup 2017-07-25 07:34:27 +02:00
twinaphex
7786c8ef10 MOre cleanups 2017-07-25 07:31:09 +02:00
twinaphex
abb8b3aa9b Simplify RetroGl 2017-07-25 07:27:37 +02:00
twinaphex
7c54327991 Use Program_free 2017-07-25 07:10:32 +02:00
twinaphex
e4537c3e1c Start moving more small variables away from heap 2017-07-25 06:48:24 +02:00
twinaphex
f9c97633dc start removing some small structs from heap 2017-07-25 06:29:25 +02:00
twinaphex
5c316c0da6 (GL) Force a restart for resolution/dithering/filtering changes
to prevent crashes
2017-07-25 06:22:22 +02:00
twinaphex
6ca001d0aa Add resolution upscaling for GL 2017-07-21 21:18:08 +01:00
twinaphex
3c853b340d Add 32x resolution 2017-07-21 19:15:20 +01:00
twinaphex
14ad1ba881 Fix solution 2017-06-11 04:30:05 +02:00
twinaphex
db854a95b9 Add doCleanFrame tweaks 2017-06-10 07:09:18 +02:00
twinaphex
7bf0144c2a Start refactoring GPU code inspired by latest Mednafen code 2017-04-22 17:05:39 +02:00
hunterk
a44a9ddb46 add jinc2 texture filter 2017-04-08 09:52:43 -05:00
twinaphex
55ea4eee14 Revert "Enable NEW_COPY_RECT by default now"
This reverts commit c4ef3b795d.
2017-04-03 15:28:32 +02:00
aliaspider
b8478bec2e texture filtering shaders refactors / tweaks. 2017-04-03 03:43:23 +01:00
hunterk
f0c98a641a add xBR, bilinear and 3-point filters 2017-04-02 09:17:15 -05:00
twinaphex
c4ef3b795d Enable NEW_COPY_RECT by default now 2017-03-30 01:03:49 +02:00
aliaspider
2f29688c38 use the FILTER_MODE_* enum here too. 2017-03-29 16:13:25 +01:00
aliaspider
ba57c946b7 use a different shader for each texture filtering mode. 2017-03-29 16:07:54 +01:00
twinaphex
0b53aa4cf4 Enable NEW_COPY_RECT for Apple 2017-03-29 14:19:38 +02:00
twinaphex
6060b98be1 Simplify shader.cpp 2017-03-28 22:29:16 +02:00
twinaphex
251afc7164 Add NEW_COPY_RECT ifdef 2017-03-28 17:08:42 +02:00
twinaphex
136937cfb2 Turn draw_indexed__raw into macro 2017-03-28 16:33:16 +02:00
twinaphex
ccd044292b Backport buffer.h improvements which were safe 2017-03-28 16:21:48 +02:00
twinaphex
8453e1a50f Add draw_indexed__raw - use glDrawElements instead of newer
function
2017-03-28 12:39:20 +02:00
twinaphex
731c7196ac Turn framebuffer.cpp into C file 2017-03-28 11:28:30 +02:00
twinaphex
df6098b4d2 Simplify program.cpp 2017-03-28 10:16:28 +02:00
twinaphex
e14f16a8c8 Turn vertex.cpp into C file 2017-03-28 08:49:04 +02:00
twinaphex
a75aad62eb Turn Attribute into C struct 2017-03-28 08:41:20 +02:00
twinaphex
a6f4aa24a8 Turn retrogl texture into regular C struct 2017-03-28 08:19:00 +02:00
twinaphex
fdee4d2690 Simplify retrogl texture 2017-03-28 08:09:04 +02:00
twinaphex
2ce23ee29f Framebuffer - get rid of second constructor 2017-03-28 07:55:58 +02:00
twinaphex
f213a4efa8 Don't call get_error for non-DEBUG builds 2017-03-28 07:42:46 +02:00
twinaphex
4eb99a3ce6 Simplifications to buffer.h 2017-03-28 07:37:04 +02:00
twinaphex
32a26ee67c buffer.h - simplifications 2017-03-28 07:18:31 +02:00
twinaphex
c698ac30df Simplifications to buffer.h 2017-03-27 21:36:20 +02:00
twinaphex
64eb7f05bc Cleanup retrogl program 2017-03-27 21:15:48 +02:00
twinaphex
f8a786abac Turn more program uniforms into macros 2017-03-27 20:48:58 +02:00
twinaphex
0bc5ebbcf8 Fix rsx_gl_copy_rect 2017-03-27 19:51:11 +02:00
twinaphex
4b0b787bdf Cleanup 2017-03-27 19:00:57 +02:00
twinaphex
7bef7cd17d Cleanups/simplifications 2017-03-27 18:59:32 +02:00
twinaphex
5b240b9514 Simplifications 2017-03-27 18:52:37 +02:00
twinaphex
06722e45bf Simplifications 2017-03-27 18:37:35 +02:00
twinaphex
daad0c8750 Simplify rsx_lib_gl 2017-03-27 18:19:50 +02:00
twinaphex
b47bca5ee0 Move shaders 2017-03-27 17:59:18 +02:00
twinaphex
6e9c6fe8e5 Simplifications 2017-03-27 17:56:15 +02:00
twinaphex
2a7b88a752 Merge GlRenderer.cpp into rsx_lib_gl.cpp 2017-03-27 17:49:04 +02:00
twinaphex
a478e14318 More simplifications 2017-03-27 16:46:44 +02:00
twinaphex
aeabbb9179 Simplify rsx_lib_gl 2017-03-27 16:38:49 +02:00
twinaphex
4ae2b73961 Merge retrogl.cpp into rsx_lib_gl.cpp 2017-03-27 16:15:36 +02:00
radius
2b2070b84a redo core options 2016-12-04 19:14:08 -05:00
Tiny Tiger
ca9c380087 Fix BSV playback. 2016-12-04 17:11:46 +01:00
rz5
f91a3c8f73 (parallel-psx) Widescreen hack core option added 2016-12-03 22:55:24 +00:00
Tiny Tiger
b9969d2fbd Add fallback support for graphics backend.
Will choose either GL/Vulkan depending on what the frontend allows.
2016-12-03 17:09:57 +01:00
Tiny Tiger
7e47a977d1 Support changing internal resolution on the fly. 2016-12-03 17:09:50 +01:00
Tiny Tiger
fa039d53c1 Add parallel-psx and dumping. 2016-12-03 17:09:45 +01:00
Lionel Flandrin
bb575123e5 Fix line drawing 2016-09-26 02:01:31 +02:00
Lionel Flandrin
48ae05061b Fix compilation warnings 2016-09-25 22:17:45 +02:00
iCatButler
e9d2688c74 Initial PGXP integration
- Create VS 2015 files
- Fix various compiler and linker errors (not sure if I'm missing some existing work arounds)

- Intergate all current operations (CPU currently broken)
- Integrate vertex caching
- Implement perspective correct texturing
- Update command vertices to use floating point positions
- Add menu options to toggle modes
2016-09-25 11:52:57 +01:00
twinaphex
3048a71b6d Update to 0.9.39.2 2016-09-23 21:51:50 +02:00
Lionel Flandrin
5dc311ede7 Don't duplicate vertices when drawing a quad or sprite
Since we now have an index array we might as well use it...
2016-09-16 20:43:38 +02:00
Lionel Flandrin
9941e38838 Don't force display off upon GL context rebuilding 2016-09-13 18:24:31 +02:00
twinaphex
c8864a8b0b Add 'exe' file 2016-06-09 08:08:26 +02:00
twinaphex
09272fa2c0 Prevent warning 2016-06-07 02:04:23 +02:00
twinaphex
d5d2d9301c Add rsx_intf_set_mask_setting 2016-06-02 05:05:13 +02:00
twinaphex
62b8441c70 Add rsx_intf_has_software_renderer 2016-06-01 08:10:21 +02:00
Lionel Flandrin
08da00aa6b Fix draw area calculations 2016-05-31 17:48:49 +02:00
twinaphex
ac31439961 Create rsx_gl_push_sprite - shold do the equivalent of two
push_triangle commands in one call
2016-05-31 08:27:43 +02:00
Lionel Flandrin
58fa9341e1 Implement tex_window in the fragment shader. 2016-05-28 15:30:43 +02:00
rz5
a4cc626f34 The GL renderer should now handle GP1 command 0x03; if the display was
toggled off, finalize_frame() will just paint the screen black.
2016-05-28 12:30:26 +01:00
twinaphex
e2a4cef9ba Add uniforms for tww, twh, twx, twy 2016-05-28 03:05:42 +02:00
twinaphex
f084627313 Create set_tex_window function for GL renderer 2016-05-28 02:54:37 +02:00
twinaphex
958b0a8cbe Add rsx_intf_set_tex_window 2016-05-28 02:42:18 +02:00
twinaphex
4b35772526 Updates 2016-05-25 18:20:20 +02:00
twinaphex
ebb6b2e236 Cleanup 2016-05-25 18:15:47 +02:00
twinaphex
3c91eb541b Move function callbacks to C file 2016-05-25 18:14:19 +02:00
twinaphex
48255231d0 Cleanup 2016-05-23 03:34:55 +02:00
twinaphex
c69820831e Buildfixes 2016-05-22 16:17:00 +02:00
Lionel Flandrin
0b65be5780 blah 2016-05-22 16:11:01 +02:00
Twinaphex
1a4e33ca77 Drop the namespaces 2016-05-22 13:25:13 +02:00
twinaphex
bbdb5eb352 Create rsx_intf_set_type 2016-05-21 14:00:52 +02:00
twinaphex
83e64d6a43 Remove this 2016-05-21 13:56:01 +02:00
twinaphex
72145b8437 Don't use nullptr 2016-05-21 13:53:25 +02:00
twinaphex
8e3cb221c0 Backport RSX code over 2016-05-21 01:42:22 +02:00
twinaphex
5a0d17d780 Remove obsolete set_blend_mode 2016-05-12 08:23:04 +02:00
twinaphex
5801763f98 Change rsx_intf.c to cpp 2016-05-11 02:39:43 +02:00
twinaphex
efb52c76fd Make environ_cb public 2016-05-05 04:37:08 +02:00
twinaphex
7b0a0f8090 Change name again 2016-05-04 17:25:59 +02:00
Zapeth
3a5a716d77 Add rudimentary pbp support (not working atm) 2016-05-02 20:10:17 +02:00
Lionel Flandrin
3f1096ad2a Add semi-transparency to frankenbeetlte 2016-04-17 23:59:41 +02:00
twinaphex
886a9f1bf5 rsx_lib_gl.c - set stencil to false 2016-04-10 05:19:26 +02:00
twinaphex
b70bd47544 Fill in rsx_gl_get_system_av_info 2016-04-10 05:15:31 +02:00
twinaphex
81bbcfbe04 (RSX GL) Add early returns 2016-04-10 05:06:23 +02:00
twinaphex
afa6177a01 (RSX/GL) Implement rsx_gl_set_blend_mode 2016-04-10 04:50:11 +02:00
twinaphex
d6484915b3 Add extension to RSX interface - rsx_set_blend_mode - also
read this - http://forums.qhimm.com/index.php?topic=6229.5
2016-04-10 04:26:12 +02:00
twinaphex
40e9d04a71 Create rsx_lib_soft 2016-04-10 03:36:12 +02:00
twinaphex
35a74f0936 Move code to rsx_lib_gl 2016-04-10 02:52:54 +02:00
twinaphex
226a60c453 (RSX/GL) Add rsx_lib_gl.c 2016-04-10 02:40:36 +02:00
twinaphex
0ac6dd32ca (RSX/GL) Add rsx/gl/vertex.c 2016-04-09 22:58:12 +02:00
twinaphex
2b42e34a81 (RSX/GL) Add rsx/gl/framebuffer 2016-04-09 22:41:17 +02:00
twinaphex
56fcde24b2 (GL) Add rsx/gl/texture.c 2016-04-09 21:53:44 +02:00
twinaphex
70335f53fc Rust codepath works now 2016-04-09 01:34:42 +02:00
twinaphex
e54f95f751 Add rsx_intf_is_type 2016-04-09 00:49:48 +02:00
twinaphex
9d75c674fb Move get_system_av_info to rsx_intf.c 2016-04-09 00:43:43 +02:00
twinaphex
f4d71158ea Some build fixes for Rust 2016-04-08 19:48:20 +02:00
twinaphex
ae933cc02c Add rust interface hooks 2016-04-08 19:25:46 +02:00
twinaphex
e5f02064cb Rename rsx functions to rsx_intf_ 2016-04-08 17:03:52 +02:00
twinaphex
e1f7c3809f Fix GL codepath 2016-03-25 01:54:56 +01:00
twinaphex
202ca9f2b7 Start creating GL/non-GL codepaths 2016-03-25 01:48:16 +01:00
twinaphex
84fd6906a8 Move rsx file 2016-03-25 01:42:58 +01:00