KR20100038027A - 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치 - Google Patents

메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치 Download PDF

Info

Publication number
KR20100038027A
KR20100038027A KR1020080129346A KR20080129346A KR20100038027A KR 20100038027 A KR20100038027 A KR 20100038027A KR 1020080129346 A KR1020080129346 A KR 1020080129346A KR 20080129346 A KR20080129346 A KR 20080129346A KR 20100038027 A KR20100038027 A KR 20100038027A
Authority
KR
South Korea
Prior art keywords
memory
processing unit
graphics
graphic
cpu
Prior art date
Application number
KR1020080129346A
Other languages
English (en)
Other versions
KR101566508B1 (ko
Inventor
정동균
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080129346A priority Critical patent/KR101566508B1/ko
Publication of KR20100038027A publication Critical patent/KR20100038027A/ko
Application granted granted Critical
Publication of KR101566508B1 publication Critical patent/KR101566508B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치가 개시된다. 본 발명의 일 양상에 따른 그래픽 처리 장치(GPU)에서의 그래픽 처리 방법은, 윈도우 시스템의 그래픽 처리 연산을 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환하고, 중앙 처리 장치의 메모리를 보조 메모리로 이용함으로써 그래픽 처리 장치의 메모리를 가상화하여 처리하도록 한다. 이에 의해 윈도우 시스템의 확장성과 유연성을 높일 수 있다.
OpenVG, EGL, 그래픽 처리 장치, 윈도우 시스템

Description

메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치 {Graphic processing method and apparatus implementing memory virtualization}
본 발명의 일 양상에 따른 기술분야는 그래픽 처리에 관한 것으로, 보다 상세하게는 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치에 관한 것이다.
리눅스(Linux)나 심비안(Symbian) 등과 같은 오픈 소스 기반의 운영체제를 탑재한 모바일 장치(mobile device)가 증가하고 있다. 그리고 휴대용 멀티미디어 통신 단말이나 휴대폰 등의 모바일 장치(mobile device)를 통해 웹 브라우징(web browsing)이나 다양한 응용 프로그램 등을 사용할 수 있도록 지원하는 추세이다. 이에 따라 이러한 모바일 장치의 그래픽 유저 인터페이스(Graphic User Interface, GUI)가 점점 중요해져 가고, 이를 지원하기 위해 모바일 장치에서의 고성능 그래픽 처리가 점점 더 필요한 실정이다.
고성능 그래픽 처리를 위해 모바일 장치는 중앙 처리 장치(Central Processing Unit, CPU)외에 별도의 그래픽 처리 장치(Graphic Processing Unit, GPU)를 구비하여 그래픽 처리와 관련된 작업을 일괄적으로 그래픽 처리 장치(GPU)에서 수행하기도 한다. 한편, 모바일 장치에서 응용 프로그램에서의 그래픽 유저 인터페이스(GUI)는 대부분 윈도우 시스템(window system)을 기반으로 하고 있다. 즉, 응용 프로그램의 그래픽 유저 인터페이스(GUI) 화면은 일정영역에서 디스플레이되는데, 이 일정영역을 윈도우(window)라고 한다.
종래에는 이러한 윈도우의 관리나 그래픽 처리를 하나의 중앙 처리 장치(CPU)에서 처리하는 경우가 많았다. 이 경우 그래픽 처리와 관련된 복잡한 연산까지도 중앙 처리 장치에서 수행해야 하기 때문에 중앙 처리 장치(CPU)의 부하가 많이 걸려 그래픽 처리 성능이 좋지 못하다.
또한, 별도의 그래픽 처리 장치(GPU)를 구비하여 이 그래픽 처리 장치(GPU)에서 윈도우 관리나 그래픽 처리를 수행하도록 하는 경우도 있으나, 응용 프로그램마다 다른 응용 프로그램 인터페이스(Application Program Interface, API)를 사용하기 때문에 윈도우 시스템의 기능을 확장하거나 수정하는데 어려움이 있다.
따라서, 본 발명의 일 양상에 따라, 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치를 제공하고자 한다.
본 발명의 일 양상에 따른 그래픽 처리 장치(GPU)에서의 그래픽 처리 방법은, 윈도우 시스템의 그래픽 처리 연산을 상기 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환하는 단계; 및 중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용함으로써 상기 그래픽 처리 장치의 메모리를 가상화하는 단계를 포함한다.
상기 그래픽 처리 장치는 가장 최근까지 사용되지 않은 그래픽스 리소스를 VGImage 단위로 상기 중앙 처리 장치의 메모리로 전달할 수 있다.
또한, 본 발명의 다른 양상에 따른 그래픽 처리 장치(GPU)는, 윈도우 시스템의 그래픽 처리 연산을 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환하는 변환부; 및 중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용함으로써 상기 그래픽 처리 장치의 메모리를 가상화하는 메모리 제어부를 포함한다.
본 발명의 일 양상에 따르면, 표준화된 API를 사용함으로써 윈도우 시스템의 확장성과 유연성을 높일 수 있다. 그리고, 벡터 기반의 API를 사용함으로써 향후 널리 사용될 것으로 예상되는 스케일러블 사용자 인터페이스(Scalable User Interface)를 보다 효과적으로 지원할 수 있다.
또한 모바일 장치에서 하나의 고성능 중앙 처리 장치(CPU)를 사용하여 그래픽 처리까지 수행하는 것보다, 별도의 그래픽 처리 장치(GPU)를 통해 본 발명의 일 양상에 따른 윈도우 시스템을 구현함으로써 여러가지 자연스러운 그래픽 효과를 얻을 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 윈도우 시스템 구현을 위한 구성 모듈을 도시한 도면이다.
응용 프로그램(110)은 프로토콜(120)을 통해 윈도우 시스템(130)과 데이터를 주고 받으며, 경우에 따라 하드웨어(150)와도 데이터를 주고 받아 그래픽 처리를 수행한다.
응용 프로그램(110)은 윈도우 매니저(window manager)(112), OpenVG 응용 프로그램(OpenVG Application)(114), X/GTX+ 응용 프로그램(X/GTX+ Application)(116) 등과 같이 윈도우를 기반으로 하는 여러가지 프로그램들이 포함될 수 있다. 윈도우 매니저(112)는 윈도우를 관리하는 프로그램으로 그래픽 사용자 인터페이스(GUI)를 제공한다. 윈도우상에서의 메뉴판 구성, 스크롤바, 아이콘, 마우스 버튼의 작동 등이 어떤 윈도우 매니저를 사용하는가에 따라 결정된다.
프로토콜 처리(112)는 응용 프로그램(110)에 대응되는 프로토콜 처리를 수행한다. 그리고, 윈도우 시스템(130)은 디바이스에 독립적인 데이터 처리를 수행하는 디바이스 독립처리부(Device Independent X, DIX)(132)와 디바이스와 관련된 데이터 처리를 수행하는 디바이스 종속처리부(DDX 2D, Device Dependent X 2-Dimensional)(142), 렌더 확장부(Render Extension)(144), OpenVG 확장부(OpenVG Extension)(146), EGL 확장부(EGL extension)(148)를 포함한다. 한편 하드웨어(150)는 CPU(152)와 EGL/OpenVG 드라이버(154)와 그래픽스 하드웨어(156)를 포함한다.
디바이스 종속 처리부(142)는 윈도우 시스템의 좌표계를 OpenVG 좌표계로 변 환하고, 상기 윈도우 시스템의 그래픽 처리 연산을 위한 컨텍스트를 OpenVG의 오브젝트들로 표현하여, 그에 따라 그래픽 처리 연산을 수행하여 그 결과를 저장한다. 보다 상세하게는, 윈도우 시스템의 그래픽 처리 연산을 위한 컨텍스트의 내용을 OpenVG의 state, paint 및 path 오브젝트로 표현한다. 디바이스 종속 처리부(142)에서의 보다 상세한 과정은 도 2 이하를 참조하여 후술한다.
한편, OpenVG 확장부(OpenVG Extension)(146), EGL 확장부(EGL extension)(148)는 클라이언트 애플리케이션이 OpenVG와 EGL의 API를 사용하여 그래픽 유저 인터페이스(GUI) 애플리케이션을 구현하는 통로를 제공한다.
OpenVG 표준은 플래쉬(Flash), SVG(Scable Vector Graphics)와 같은 벡터 그래픽 라이브러리를 위한 저수준 하드웨어 가속 인터페이스를 제공하는 로열티 무료, 크로스 플랫폼 API이다. OpenVG는 크로노스 그룹에 의해 제정된 표준이며, 2005년 7월에 버전 1.0 이 최초로 공개되었다. OpenVG 참조 구현은 EGL(Embedded Graphics Library) 블록과 OpenVG 블록으로 구성되어 있다. EGL은 OpenGL/ES 또는 OpenVG 와 같은 렌더링 API와 기반이 되는 네이티브 플랫폼 윈도우 시스템 사이의 인터페이스이다. 즉, EGL은 클라이언트 API들이 그리는 렌더링 평면(surface)을 생성하기 위한 메커니즘을 제공한다.
도 2는 윈도우 시스템에서 관리하는 윈도우 구조와, 이 윈도우 구조가 EGL 리소스로 매핑되고 화면상에 디스플레이되는 관계를 설명하기 위한 참조도이다.
전술한 바와 같이 그래픽 작업을 통해 그림이 그려질 때, 그림이 그려지는 작업영역을 Window라고 한다. 한편, 그림이 직접 보여지는 Window 외의 작업영역 에도 그림이 그려질 수 있는데 이 영역을 Pixmap이라고 한다. Window와 Pixmap은 자료형(Variable type)의 일종으로 두 가지를 합쳐 자료형 Drawable이라고 한다. 본 발명의 일예에서는 그래픽 처리 장치에서 윈도우의 처리를 수행하기 위해 윈도우 시스템의 중요 자료형인 Window와 Pixmap을 EGL 자료형으로 변환한다.
도 2를 참조하면, 루트 윈도우(Root window)(210)는 Composite window(215, 225)와 Normal window(220, 230)를 포함한다. 여기서 Composite window(215, 225)는 화면상에 직접적으로 디스플레이되지 않는 윈도우로 Pixmap 자료형에 해당된다. 그리고 Normal window(220, 230)는 화면상에 직접 디스플레이되는 윈도우로 Window 자료형에 해당된다.
Normal window(220, 230)와 같은 Window는 EGL 확장부(148)를 통해 온-스크린 평면(on-screen surface)(260)을 할당하고 각 Window(220, 230)의 평면들은 온-스크린 평면의 일정 영역의 위치를 가리키도록(pointing) 한다. 이렇게 하여 각 Window(220, 230)에 그려진 내용은 온-스크린 평면에 곧바로 반영되어 화면에 디스플레이된다.
Composite window(215, 225)와 같은 Pixmap은 OpenVG의 자료형 중의 하나인 VGImage를 할당하고 이로부터 EGL pBuffer 평면(surface)을 할당하여 그 내용이 오프-스크린 버퍼(off-screen buffer)(250, 255)에 저장되도록 한다. 이후 오프-스크린 버퍼(250, 255)에 저장된 내용은 온-스크린 평면(260)상으로 옮겨져 화면상에 디스플레이될 수 있다.
도 3은 본 발명의 일실시예에 따른 코어 렌더링을 수행하는 과정의 플로우차 트이다.
코어 렌더링은 디바이스 종속 처리부(DDX 2D)(142)에서 수행되며, 코어 렌더링을 수행하기 위해 윈도우 시스템에서의 기본적인 2D 그래픽 연산은 OpenVG로 구현된다. 먼저 그래픽 연산을 위한 데이터가 OpenVG로 변환이 가능한지의 여부를 체크한다(S310). OpenVG로 변환이 가능하지 않으면 대체 시스템을 가동하여(SW fallback), 그래픽 처리를 그래픽 처리 장치(GPU)에서 수행하지 않고 중앙 처리 장치(CPU)에서 수행한다(S360).
S360 단계를 보다 구체적으로는 설명하면, 먼저 그래픽 처리 장치(GPU)의 EGL 평면(surface)의 내용을 중앙 처리 장치(CPU)의 메모리로 복사한다. 중앙 처리 장치(CPU)의 메모리에 저장된 그래픽 데이터를 fb function이 처리할 수 있는 형태로 변환하고, 클라이언트에서 요청한 drawing 함수에 해당하는 fb function을 호출하여 처리 결과를 중앙 처리 장치(CPU)의 메모리에 저장한다. 저장된 처리 결과는 그래픽 처리 장치(GPU)의 EGL 평면(surface)으로 다시 전달된다.
한편 OpenVG로 변환이 가능하면, 좌표 변환을 수행한다(S320). 다시 말하면, 윈도우 시스템 좌표계에서 정의된 2D 프리미티브(primitive)를 OpenVG 좌표계로 변환한다. 예를 들어 왼쪽 아래(left bottom)가 원점인 OpenVG 좌표계는 윈도우 시스템의 좌표계와 차이가 있을 수 있으므로 좌표계를 먼저 변환하는 것이다. 그리고, 그래픽스 컨텍스트(graphics context)의 내용을 OpenVG의 state와 paint object로 표현한다(S330). 즉, 형태를 표현하기 위한 state와 형태를 외부적으로 나타내기 위한 paint 오브젝트가 사용된다. state는 일예로 배경색(background color), 전면색(foreground color), 라인 색/두께 등의 상태를 포함할 수 있다.
이렇게 state와 paint를 설정하였으면, path 오브젝트를 사용하여 경로 fitting을 수행한다(S340). 즉, 2D 프리미티브의 형태를 path object를 사용하여 fitting하여 각각의 그래픽스 컨텍스트에 대응되는 결과를 얻을 수 있도록 한다. 예를 들어 사각형을 그리는 2D 프리미티브에 대응되는 동일한 결과를 얻을 수 있는 state와 paint 오브젝트를 가지고 사각형에 대응되는 경로를 만든다.
이렇게 그래픽 데이터가 준비되면, 실제 그림을 그리는 명령을 수행한다(S350). 일예로, vgDrawPath 또는 vgDrawingImage를 호출하여 렌더링을 수행하고, 그 렌더링 결과를 평면(surface)에 저장한다.
이하에서는 도 1의 렌더 확장부(144), OpenVG/EGL 확장부(146, 148)에 관해 보다 상세하게 설명한다.
렌더 확장부(144)에서 수행되는 렌더 확장에는 Picture라는 자료형이 사용된다. Picture는 Window나 Pixmap과 같은 drawable과 연결되어 있고, drawable은 EGL 평면(surface)을 이미 할당하고 있으므로, picture를 위한 별도의 EGL 평면(surface)을 할당할 필요가 없다.
보다 상세하게는 Trapezoid 또는 Triangle이 picture의 인자(parameter)로 지정되었을 경우에는 경로를 설정하여 그 형태를 fitting한다. 그리고, 인자로 사용되는 picture의 성질에 따라 picture를 OpenVG 자료형으로 변환한다. 렌더 확장의 일예로 블렌딩(blending)을 들 수 있는데, source와 mask가 모두 solid인 경우에는 컬러 페인트(color paint)를 사용하고, source와 mask 중 하나만 solid인 경 우에는 color 변환을 사용한 패턴 페인트(pattern paint)를 사용한다. 그리고 source와 mask가 모두 drawable인 경우에는 vgMask와 pattern paint를 사용한다.
한편 PictureTransform은 PAINT_TO_USER 행렬(matrix)을 설정하여 구현할 수 있다. PAINT_TO_USER 행렬은 다음 수학식 1과 같이 표현될 수 있다.
Figure 112008087075739-PAT00001
이때, sx, sy, dx, dy는 composite 이 지정한 값이며, hi는 source 또는 mask 이미지의 높이, h는 destination surface의 높이이다.
이러한 과정을 거친 후 vgDrawPath를 호출하여 렌더링 결과를 평면(surface)에 저장한다.
다음으로, OpenVG/EGL 확장부(146, 148)에 대해 보다 상세하게 설명한다. OpenVG/EGL 확장부(146, 148)을 통해 클라이언트 애플리케이션이 OpenVG와 EGL의 API를 사용하여 그래픽 유저 인터페이스(GUI) 애플리케이션을 구현할 수 있도록 한다.
먼저 클라이언트 애플리케이션이 요청한 OpenVG와 EGL API는 프로토콜 처리부(X protocol)(122)을 통해 서버로 전달된다. 클라이언트에서 요청한 OpenVG/EGL API가 글로벌 스테이트(global state)나 컨텍스트의 변경을 일으키면, 실제 함수를 호출하지 않고 state와 컨텍스트를 서버측 모듈에 저장한다. 그리고 클라이언트에 서 drawing 관련 API가 호출되면 서버측에 저장된 state와 컨텍스트를 설정한 후 drawing 관련 API를 실행한다.
클라이언트가 요청하고 서버가 생성한 이들 리소스(resource)에는 카운터(reference counter)를 관리하여 리소스를 사용하는 모듈이 없어질 때 서버측 메모리에서 삭제한다. 사용중이 리소스의 삭제가 요청되면 카운터를 감소시켜 사용이 완료된 후 서버측 메모리에서 삭제한다.
한편, 본 발명의 일실시예에서는 그래픽 처리 장치(GPU)의 메모리 가상화를 구현할 수 있다. 즉, 윈도우 시스템의 그래픽스 리소스를 모두 그래픽 처리 장치(GPU)에 적재할 수 없는 경우, 중앙 처리 장치(CPU)의 메모리를 마치 그래픽 처리 장치(GPU)의 메모리인 것처럼 사용하기 위해 메모리 스와핑(swapping)을 할 수 있다. 다시 말하면, 메모리 스와핑을 통해 중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용하도록 함으로써 그래픽 처리 장치의 메모리를 가상화한다.
예를 들어, 그래픽 처리 장치(GPU)에서 중앙 처리 장치(CPU)로 그래픽스 리소스를 이동시킬 때에는 가장 최근까지 사용되지 않은 VGImage를 선택하여 중앙 처리 장치(CPU)의 메모리로 이동시킨다. 그리고, 선택된 VGImage의 메모리를 해제하고, drawable의 평면(surface)를 이동된 중앙 처리 장치(CPU)의 메모리로 연결한다.
반대로 중앙 처리 장치(CPU)의 메모리로 이동한 그래픽스 리소스를 접근하는 경우에는, 그래픽 처리 장치(GPU)에 VGImage를 할당하고 drawable의 평면(surface)와 연결한다. 그리고 중앙 처리 장치(CPU)의 메모리에 저장된 평면(surface)의 내 용을 상기 할당된 VGImage로 복사한다. 그리고 나서 중앙 처리 장치(CPU)의 메모리의 평면(surface)을 해제한다.
도 4는 본 발명의 일실시예에 따른 메모리 가상화를 수행하는 그래픽 처리장치의 구성도이다.
변환부(410)는 윈도우 시스템의 그래픽 처리 연산을 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환한다. 그리고 메모리 제어부(420)는 그래픽 처리 장치에서 그래픽 처리 연산을 수행하지 못하는 경우에, 그래픽 처리 연산을 위한 컨텍스트의 내용을 중앙 처리 장치(CPU)로 전달하여 처리하도록 관리한다. 다시 말하면, 중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용함으로써 그래픽 처리 장치의 메모리를 가상화한다.
이때, 메모리 가상화 방법에서 전술한 바와 같이, 메모리 제어부(420)는 가장 최근까지 사용되지 않은 그래픽스 리소스를 VGImage 단위로 중앙 처리 장치의 메모리로 전달한다. 또한, 메모리 제어부(420)는중앙 처리 장치의 메모리로 전달된 그래픽스 리소스의 접근이 요청되면 VGImage 단위로 그래픽 처리 장치로 불러온다.
이제까지 본 발명의 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일실시예에 따른 윈도우 시스템 구현을 위한 구성 모듈을 도시한 도면,
도 2는 윈도우 시스템에서 관리하는 윈도우 구조와, 이 윈도우 구조가 EGL 리소스로 매핑되고 화면상에 디스플레이되는 관계를 설명하기 위한 참조도,
도 3은 본 발명의 일실시예에 따른 코어 렌더링을 수행하는 과정의 플로우차트,
도 4는 본 발명의 일실시예에 따른 메모리 가상화를 수행하는 그래픽 처리장치의 구성도이다.
<도면의 주요부분에 대한 설명>
110 : 응용 프로그램 120 : 프로토콜
130 : 윈도우 시스템 132 : 디바이스 독립 처리부
142 : 디바이스 종속 처리부 144 : 렌더 확장부
146 : OpenVG 확장부 148 : EGL 확장부

Claims (7)

  1. 그래픽 처리 장치(GPU)에서의 그래픽 처리 방법에 있어서,
    윈도우 시스템의 그래픽 처리 연산을 상기 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환하는 단계; 및
    중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용함으로써 상기 그래픽 처리 장치의 메모리를 가상화하는 단계를 포함하는 그래픽 처리 방법.
  2. 제1항에 있어서,
    상기 그래픽 처리 장치는 가장 최근까지 사용되지 않은 그래픽스 리소스를 VGImage 단위로 상기 중앙 처리 장치의 메모리로 전달하는 그래픽 처리 방법.
  3. 제1항에 있어서,
    상기 중앙 처리 장치의 메모리로 전달된 그래픽스 리소스의 접근이 요청되면 VGImage 단위로 상기 그래픽 처리 장치로 불러오는 그래픽 처리 방법.
  4. 제1항에 있어서,
    상기 그래픽 처리 장치에서 사용되는 벡터 기반의 API는 OpenVG/EGL 표준에 따른 포맷인 그래픽 처리 방법.
  5. 윈도우 시스템의 그래픽 처리 연산을 그래픽 처리 장치(GPU)에서 사용되는 벡터 기반의 응용 프로그램 인터페이스(API) 포맷으로 변환하는 변환부; 및
    중앙 처리 장치(CPU)의 메모리를 보조 메모리로 이용함으로써 상기 그래픽 처리 장치의 메모리를 가상화하는 메모리 제어부를 포함하는 그래픽 처리 장치.
  6. 제5항에 있어서, 상기 메모리 제어부는
    가장 최근까지 사용되지 않은 그래픽스 리소스를 VGImage 단위로 상기 중앙 처리 장치의 메모리로 전달하는 그래픽 처리 장치.
  7. 제5항에 있어서, 상기 메모리 제어부는
    상기 중앙 처리 장치의 메모리로 전달된 그래픽스 리소스의 접근이 요청되면 VGImage 단위로 상기 그래픽 처리 장치로 불러오는 그래픽 처리 장치.
KR1020080129346A 2008-12-18 2008-12-18 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치 KR101566508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080129346A KR101566508B1 (ko) 2008-12-18 2008-12-18 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080129346A KR101566508B1 (ko) 2008-12-18 2008-12-18 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080096953A Division KR101520067B1 (ko) 2008-10-02 2008-10-02 윈도우 시스템을 구현한 그래픽 처리 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20100038027A true KR20100038027A (ko) 2010-04-12
KR101566508B1 KR101566508B1 (ko) 2015-11-05

Family

ID=42215055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080129346A KR101566508B1 (ko) 2008-12-18 2008-12-18 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101566508B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220146863A (ko) * 2021-04-26 2022-11-02 삼성전자주식회사 전자 장치 및 전자 장치의 api 변환 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803947B1 (ko) * 2006-12-01 2008-02-15 주식회사 코아로직 오픈 벡터그래픽 응용 프로그램 인터페이스 변환 장치와방법, 모바일 단말기, 및 그 방법이 기록된 기록매체

Also Published As

Publication number Publication date
KR101566508B1 (ko) 2015-11-05

Similar Documents

Publication Publication Date Title
US11164280B2 (en) Graphics layer processing in a multiple operating systems framework
US10074206B1 (en) Network-optimized graphics library for virtualized graphics processing
JP5959729B2 (ja) 3次元場面をスクリーンに表示する方法及び3次元コンピュータシステムのためのコンピュータプログラム
US20150193904A1 (en) Graphics acceleration for applications executing on mobile devices with multi-operating system environment
US20170161865A1 (en) Method and System to Virtualize Graphic Processing Services
CN107292807B (zh) 一种图形合成方法、窗口设置方法及系统
US9495722B2 (en) Developer controlled layout
JP2013542515A (ja) 異環境間リダイレクション
JP2013546043A (ja) 即時リモートレンダリング
US11094036B2 (en) Task execution on a graphics processor using indirect argument buffers
US10319068B2 (en) Texture not backed by real mapping
US20130063473A1 (en) System and method for layering using tile-based renderers
US20190370929A1 (en) Memory Cache Management for Graphics Processing
JP2018533137A (ja) ピクセルタイルレベルグラニュラリティをもつグラフィックス処理ユニットプリエンプション
US20140059114A1 (en) Application service providing system and method and server apparatus and client apparatus for application service
US8223158B1 (en) Method and system for connecting multiple shaders
US20110225403A1 (en) Operating system and method of running thereof
KR101520067B1 (ko) 윈도우 시스템을 구현한 그래픽 처리 방법 및 그 장치
US9058759B2 (en) Virtual display device drivers compatible with windows display driver model
KR101566508B1 (ko) 메모리 가상화를 구현한 그래픽 처리 방법 및 그 장치
Bues et al. VD1: a technical approach to a hybrid 2D and 3D desktop environment
KR20100038026A (ko) 그래픽 데이터 처리 방법
CN111813404B (zh) 基于混合图形显示的应用方法、介质及客户端
US10692169B2 (en) Graphics driver virtual channels for out-of-order command scheduling for a graphics processor
US9489238B2 (en) Hierarchal system of objects

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee