summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/n64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/n64.h')
-rw-r--r--src/mame/video/n64.h34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/mame/video/n64.h b/src/mame/video/n64.h
index 6193514433c..9225c804b22 100644
--- a/src/mame/video/n64.h
+++ b/src/mame/video/n64.h
@@ -323,18 +323,40 @@ private:
void compute_cvg_noflip(extent_t* spans, int32_t* majorx, int32_t* minorx, int32_t* majorxint, int32_t* minorxint, int32_t scanline, int32_t yh, int32_t yl, int32_t base);
void compute_cvg_flip(extent_t* spans, int32_t* majorx, int32_t* minorx, int32_t* majorxint, int32_t* minorxint, int32_t scanline, int32_t yh, int32_t yl, int32_t base);
- void write_pixel(uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
- void read_pixel(uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
- void copy_pixel(uint32_t curpixel, color_t& color, const rdp_poly_state &object);
- void fill_pixel(uint32_t curpixel, const rdp_poly_state &object);
+ void write_pixel4(uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void write_pixel8(uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void write_pixel16(uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void write_pixel32(uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void read_pixel4(uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void read_pixel8(uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void read_pixel16(uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void read_pixel32(uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
+ void copy_pixel4(uint32_t curpixel, color_t& color, const rdp_poly_state &object);
+ void copy_pixel8(uint32_t curpixel, color_t& color, const rdp_poly_state &object);
+ void copy_pixel16(uint32_t curpixel, color_t& color, const rdp_poly_state &object);
+ void copy_pixel32(uint32_t curpixel, color_t& color, const rdp_poly_state &object);
+ void fill_pixel4(uint32_t curpixel, const rdp_poly_state &object);
+ void fill_pixel8(uint32_t curpixel, const rdp_poly_state &object);
+ void fill_pixel16(uint32_t curpixel, const rdp_poly_state &object);
+ void fill_pixel32(uint32_t curpixel, const rdp_poly_state &object);
void precalc_cvmask_derivatives(void);
void z_build_com_table(void);
typedef void (n64_rdp::*compute_cvg_t) (extent_t* spans, int32_t* majorx, int32_t* minorx, int32_t* majorxint, int32_t* minorxint, int32_t scanline, int32_t yh, int32_t yl, int32_t base);
- compute_cvg_t m_compute_cvg[2];
+ compute_cvg_t m_compute_cvg[2];
- running_machine* m_machine;
+ typedef void (n64_rdp::*write_pixel_t) (uint32_t curpixel, color_t& color, rdp_span_aux* userdata, const rdp_poly_state &object);
+ typedef void (n64_rdp::*read_pixel_t) (uint32_t curpixel, rdp_span_aux* userdata, const rdp_poly_state &object);
+ typedef void (n64_rdp::*copy_pixel_t) (uint32_t curpixel, color_t& color, const rdp_poly_state &object);
+ typedef void (n64_rdp::*fill_pixel_t) (uint32_t curpixel, const rdp_poly_state &object);
+
+ write_pixel_t m_write_pixel[4];
+ read_pixel_t m_read_pixel[4];
+ copy_pixel_t m_copy_pixel[4];
+ fill_pixel_t m_fill_pixel[4];
+
+ running_machine* m_machine;
uint32_t* m_rdram;
uint32_t* m_dmem;
n64_periphs* m_n64_periphs;