qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] omap_lcdc: Remove support for DEPTH != 32


From: Pooja Dhannawat
Subject: Re: [Qemu-devel] [PATCH v2] omap_lcdc: Remove support for DEPTH != 32
Date: Tue, 5 Apr 2016 12:11:30 +0530

CCing Peter Maydell. 

On Tue, Mar 29, 2016 at 7:32 PM, Pooja Dhannawat <address@hidden> wrote:
surface_bits_per_pixel() always returns 32
so, removing other dead code which is
based on DEPTH !== 32

Signed-off-by: Pooja Dhannawat <address@hidden>
---
v2: As surface_bits_per_pixel() always returns 32,
    so instead of relying on array :

        draw_line_table2[surface_bits_per_pixel(surface)]

    we can use directly :

        draw_line2_32 [Eric Blake]
---
 hw/display/omap_lcd_template.h | 10 ++-------
 hw/display/omap_lcdc.c         | 48 +++++-------------------------------------
 2 files changed, 7 insertions(+), 51 deletions(-)

diff --git a/hw/display/omap_lcd_template.h b/hw/display/omap_lcd_template.h
index f0ce71f..1025ff3 100644
--- a/hw/display/omap_lcd_template.h
+++ b/hw/display/omap_lcd_template.h
@@ -27,13 +27,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */

-#if DEPTH == 8
-# define BPP 1
-# define PIXEL_TYPE uint8_t
-#elif DEPTH == 15 || DEPTH == 16
-# define BPP 2
-# define PIXEL_TYPE uint16_t
-#elif DEPTH == 32
+#if DEPTH == 32
 # define BPP 4
 # define PIXEL_TYPE uint32_t
 #else
@@ -152,7 +146,7 @@ static void glue(draw_line12_, DEPTH)(void *opaque,
 static void glue(draw_line16_, DEPTH)(void *opaque,
                 uint8_t *d, const uint8_t *s, int width, int deststep)
 {
-#if DEPTH == 16 && defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
+#if defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
     memcpy(d, s, width * 2);
 #else
     uint16_t v;
diff --git a/hw/display/omap_lcdc.c b/hw/display/omap_lcdc.c
index ce1058b..07a5eff 100644
--- a/hw/display/omap_lcdc.c
+++ b/hw/display/omap_lcdc.c
@@ -71,47 +71,9 @@ static void omap_lcd_interrupts(struct omap_lcd_panel_s *s)

 #define draw_line_func drawfn

-#define DEPTH 8
-#include "omap_lcd_template.h"
-#define DEPTH 15
-#include "omap_lcd_template.h"
-#define DEPTH 16
-#include "omap_lcd_template.h"
 #define DEPTH 32
 #include "omap_lcd_template.h"

-static draw_line_func draw_line_table2[33] = {
-    [0 ... 32] = NULL,
-    [8]                = draw_line2_8,
-    [15]       = draw_line2_15,
-    [16]       = draw_line2_16,
-    [32]       = draw_line2_32,
-}, draw_line_table4[33] = {
-    [0 ... 32] = NULL,
-    [8]                = draw_line4_8,
-    [15]       = draw_line4_15,
-    [16]       = draw_line4_16,
-    [32]       = draw_line4_32,
-}, draw_line_table8[33] = {
-    [0 ... 32] = NULL,
-    [8]                = draw_line8_8,
-    [15]       = draw_line8_15,
-    [16]       = draw_line8_16,
-    [32]       = draw_line8_32,
-}, draw_line_table12[33] = {
-    [0 ... 32] = NULL,
-    [8]                = draw_line12_8,
-    [15]       = draw_line12_15,
-    [16]       = draw_line12_16,
-    [32]       = draw_line12_32,
-}, draw_line_table16[33] = {
-    [0 ... 32] = NULL,
-    [8]                = draw_line16_8,
-    [15]       = draw_line16_15,
-    [16]       = draw_line16_16,
-    [32]       = draw_line16_32,
-};
-
 static void omap_update_display(void *opaque)
 {
     struct omap_lcd_panel_s *omap_lcd = (struct omap_lcd_panel_s *) opaque;
@@ -143,25 +105,25 @@ static void omap_update_display(void *opaque)
     /* Colour depth */
     switch ((omap_lcd->palette[0] >> 12) & 7) {
     case 1:
-        draw_line = draw_line_table2[surface_bits_per_pixel(surface)];
+        draw_line = draw_line2_32;
         bpp = 2;
         break;

     case 2:
-        draw_line = draw_line_table4[surface_bits_per_pixel(surface)];
+        draw_line = draw_line4_32;
         bpp = 4;
         break;

     case 3:
-        draw_line = draw_line_table8[surface_bits_per_pixel(surface)];
+        draw_line = draw_line8_32;
         bpp = 8;
         break;

     case 4 ... 7:
         if (!omap_lcd->tft)
-            draw_line = draw_line_table12[surface_bits_per_pixel(surface)];
+            draw_line = draw_line12_32;
         else
-            draw_line = draw_line_table16[surface_bits_per_pixel(surface)];
+            draw_line = draw_line16_32;
         bpp = 16;
         break;

--
2.5.0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]