First rasterizer builds OK

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1313 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-11-26 18:59:52 +00:00
parent fac43407b1
commit e77aa25163
5 changed files with 70 additions and 25 deletions

View File

@ -63,6 +63,31 @@ BIN = libgraphics$(LIBEXT)
VPATH = nxglib:nx
all: $(BIN)
.PHONY : depend clean distclean gensources gen1bppsources gen2bppsource gen4bppsource \
gen8bppsource gen16bppsource gen24bppsource gen32bppsources
gen1bppsources:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=1
gen2bppsource:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=2
gen4bppsource:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=4
gen8bppsource:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=8
gen16bppsource:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=16
gen24bppsource:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=24
gen32bppsources:
@make -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=32
gensources: gen1bppsources gen2bppsource gen4bppsource gen8bppsource gen16bppsource gen24bppsource gen32bppsources
$(AOBJS): %$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
@ -70,22 +95,24 @@ $(AOBJS): %$(OBJEXT): %.S
$(COBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@)
$(BIN): $(OBJS)
$(BIN): gensources $(OBJS)
@( for obj in $(OBJS) ; do \
$(call ARCHIVE, $@, $${obj}); \
done ; )
.depend: Makefile $(SRCS)
.depend: gensources Makefile $(SRCS)
@$(MKDEP) $(DEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
depend: .depend
clean:
@make -C nxglib -f Makefile.sources clean TOPDIR=$(TOPDIR)
@rm -f $(BIN) *~ .*.swp
$(call CLEAN)
distclean: clean
@make -C nxglib -f Makefile.sources distclean TOPDIR=$(TOPDIR)
@rm -f Make.dep .depend
-include Make.dep

View File

@ -34,5 +34,10 @@
############################################################################
NXGLIB_ASRCS =
NXGLIB_CSRCS = nxglib_rgb2yuv.c nxglib_yuv2rgb.c
#FILL_CSRCS1 = nxglib_fillrectangle_1bpp.c nxglib_fillrectangle_2bpp.c \
# nxglib_fillrectangle_4bpp.c
FILL_CSRCS2 = nxglib_fillrectangle_8bpp.c nxglib_fillrectangle_16bpp.c \
nxglib_fillrectangle_24bpp.c nxglib_fillrectangle_32bpp.c
NXGLIB_CSRCS = nxglib_rgb2yuv.c nxglib_yuv2rgb.c $(FILL_CSRCS1) $(FILL_CSRCS2)

View File

@ -51,24 +51,35 @@ endif
ifeq ($(NXGLIB_BITSPERPIXEL),16)
NXGLIB_SUFFIX := _16bpp
endif
ifeq ($(NXGLIB_BITSPERPIXEL),2)
NXGLIB_SUFFIX := _32bpp
ifeq ($(NXGLIB_BITSPERPIXEL),24)
NXGLIB_SUFFIX := _24bpp
endif
ifeq ($(NXGLIB_BITSPERPIXEL),2)
NXGLIB_SUFFIX := _64bpp
ifeq ($(NXGLIB_BITSPERPIXEL),32)
NXGLIB_SUFFIX := _32bpp
endif
CPPFLAGS += -DNXGLIB_BITSPERPIXEL=$(NXGLIB_BITSPERPIXEL)
CPPFLAGS += -DNXGLIB_SUFFIX=$(NXGLIB_SUFFIX)
FILL_CSRC = nxglib_fillrectangle$(NXGLIB_SUFFIX).c
GEN_CSRCS = $(FILL_CSRC)
FILL1_CSRCS = nxglib_fillrectangle_1bpp.c nxglib_fillrectangle_2bpp.c \
nxglib_fillrectangle_4bpp.c
FILL2_CSRCS = nxglib_fillrectangle_8bpp.c nxglib_fillrectangle_16bpp.c \
nxglib_fillrectangle_24bpp.c nxglib_fillrectangle_32bpp.c
GEN_CSRCS = $(FILL1_CSRCS) $(FILL2_CSRCS)
all: $(GEN_CSRCS)
.PHONY : clean distclean $(GEN_CSRCS)
.PHONY : clean distclean
$(FILL_CSRC) : nxglib_fillrectangle.c nxglib_bitblit.h
$(call PREPROCESS, $<, $@)
$(FILL1_CSRCS) : nxglib_fillrectangle.c nxglib_bitblit.h
ifneq ($(NXGLIB_BITSPERPIXEL),)
$(call PREPROCESS, nxglib_fillrectangle.c, $@)
endif
$(FILL2_CSRCS) : nxglib_fillrectangle.c nxglib_bitblit.h
ifneq ($(NXGLIB_BITSPERPIXEL),)
$(call PREPROCESS, nxglib_fillrectangle.c, $@)
endif
clean:
@rm -f *~ .*.swp

View File

@ -122,8 +122,8 @@
# define NXGL_MEMSET(dest,value,width) \
{ \
FAR uybte *_ptr = (FAR ubyte*)dest; \
int nbytes = NX_SCALEX(width)); \
FAR ubyte *_ptr = (FAR ubyte*)dest; \
int nbytes = NX_SCALEX(width); \
while (nbytes--) \
{ \
*_ptr++ = value; \
@ -133,7 +133,7 @@
{ \
FAR ubyte *_dptr = (FAR ubyte*)dest; \
FAR ubyte *_sptr = (FAR ubyte*)src; \
int nbytes = NX_SCALEX(width)); \
int nbytes = NX_SCALEX(width); \
while (npixels--) \
{ \
*_dptr++ = *_sptr++; \
@ -143,7 +143,7 @@
#elif NXGLIB_BITSPERPIXEL == 24
# define NXGL_MEMSET(dest,value,width) \
{ \
FAR uybte *_ptr = (FAR ubyte*)dest; \
FAR ubyte *_ptr = (FAR ubyte*)dest; \
while (width--) \
{ \
*_ptr++ = value; \
@ -182,6 +182,11 @@
}
#endif
/* Form a function name by concatenating two strings */
#define _NXGL_FUNCNAME(a,b) a ## b
#define NXGL_FUNCNAME(a,b) _NXGL_FUNCNAME(a,b)
/****************************************************************************
* Public Types
****************************************************************************/

View File

@ -81,11 +81,8 @@
*
****************************************************************************/
void nxgl_fillrectangle##NXGLIB_SUFFIX
(
FAR struct fb_planeinfo_s *pinfo,
FAR const struct nxgl_rect_s *rect, NX_PIXEL_T color
)
void NXGL_FUNCNAME(nxgl_fillrectangle,NXGLIB_SUFFIX)
(FAR struct fb_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *rect, NX_PIXEL_T color)
{
ubyte *line;
unsigned int width;
@ -98,12 +95,12 @@ void nxgl_fillrectangle##NXGLIB_SUFFIX
/* Get the dimensions of the rectange to fill in pixels */
width = rect.pt2.x - rect.pt1.x;
rows = rect.pt2.y - rect.pt1.y;
width = rect->pt2.x - rect->pt1.x;
rows = rect->pt2.y - rect->pt1.y;
/* Get the address of the first byte in the first line to write */
line = pinfo->fbmem + rect.pt1.y * stride + NX_SCALEX(rect.pt1.x);
line = pinfo->fbmem + rect->pt1.y * stride + NX_SCALEX(rect->pt1.x);
/* Then fill the rectangle line-by-line */