summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/d3dhlsl.h
diff options
context:
space:
mode:
author Ryan Holtz <rholtz@batcountryentertainment.com>2012-12-31 21:29:02 +0000
committer Ryan Holtz <rholtz@batcountryentertainment.com>2012-12-31 21:29:02 +0000
commit7e652d13c538f96ee0d43207cd373e4f53d06805 (patch)
treedc298738aeb7eb4cc7bd8a19212056706fe19f5a /src/osd/windows/d3dhlsl.h
parent2be79ec4d38880fc38be80213ac115910e891782 (diff)
- render.c: Added new PRIMFLAG macros pertaining to vectors, to be used by the
OSD. [MooglyGuy] - d3dhlsl.c: Began laying the groundwork for vector post-processing, disabled by default. [MooglyGuy]
Diffstat (limited to 'src/osd/windows/d3dhlsl.h')
-rw-r--r--src/osd/windows/d3dhlsl.h35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/osd/windows/d3dhlsl.h b/src/osd/windows/d3dhlsl.h
index 84bdaed1fc4..881e6e52106 100644
--- a/src/osd/windows/d3dhlsl.h
+++ b/src/osd/windows/d3dhlsl.h
@@ -45,6 +45,12 @@
#include "aviio.h"
//============================================================
+// CONSTANTS
+//============================================================
+
+#define HLSL_VECTOR (0)
+
+//============================================================
// TYPE DEFINITIONS
//============================================================
@@ -111,6 +117,10 @@ public:
bool enabled() { return master_enable; }
+ bool vector_enabled() { return vector_enable && (bool)HLSL_VECTOR; }
+ d3d_render_target* get_vector_target(d3d_info *d3d);
+ void create_vector_target(d3d_info *d3d, render_primitive *prim);
+
void begin();
void init_effect_info(d3d_poly_info *poly);
void render_quad(d3d_poly_info *poly, int vertnum);
@@ -159,6 +169,7 @@ private:
win_window_info * window; // D3D window info
bool master_enable; // overall enable flag
+ bool vector_enable; // vector post-processing enable flag
bool paused; // whether or not rendering is currently paused
int num_screens; // number of emulated physical screens
int curr_screen; // current screen for render target operations
@@ -193,20 +204,24 @@ private:
d3d_texture * snap_texture; // snapshot upscaled texture
int snap_width; // snapshot width
int snap_height; // snapshot height
+ bool lines_pending; // whether or not we have lines to flush on the next quad
// HLSL effects
d3d_surface * backbuffer; // pointer to our device's backbuffer
d3d_effect * curr_effect; // pointer to the currently active effect object
- d3d_effect * effect; // pointer to the current primary-effect object
- d3d_effect * prescale_effect; // pointer to the current prescale-effect object
- d3d_effect * post_effect; // pointer to the current post-effect object
- d3d_effect * pincushion_effect; // pointer to the current pincushion-effect object
- d3d_effect * focus_effect; // pointer to the current focus-effect object
- d3d_effect * phosphor_effect; // pointer to the current phosphor-effect object
- d3d_effect * deconverge_effect; // pointer to the current deconvergence-effect object
- d3d_effect * color_effect; // pointer to the current color-effect object
- d3d_effect * yiq_encode_effect; // pointer to the current YIQ encoder effect object
- d3d_effect * yiq_decode_effect; // pointer to the current YIQ decoder effect object
+ d3d_effect * effect; // pointer to the primary-effect object
+ d3d_effect * prescale_effect; // pointer to the prescale-effect object
+ d3d_effect * post_effect; // pointer to the post-effect object
+ d3d_effect * pincushion_effect; // pointer to the pincushion-effect object
+ d3d_effect * focus_effect; // pointer to the focus-effect object
+ d3d_effect * phosphor_effect; // pointer to the phosphor-effect object
+ d3d_effect * deconverge_effect; // pointer to the deconvergence-effect object
+ d3d_effect * color_effect; // pointer to the color-effect object
+ d3d_effect * yiq_encode_effect; // pointer to the YIQ encoder effect object
+ d3d_effect * yiq_decode_effect; // pointer to the YIQ decoder effect object
+#if HLSL_VECTOR
+ d3d_effect * vector_effect; // pointer to the vector-effect object
+#endif
d3d_vertex * fsfx_vertices; // pointer to our full-screen-quad object
public: