Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Cheebi am 26. July 2006, 03:19

Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: Cheebi am 26. July 2006, 03:19
Hi Leute,

im VESA Mode 118h werden Pixel durch 32Bit beschrieben:
Angenoommen 1. Pixel bei 0x5000 (einfach angemnommen... will nicht ne ellenlange Adresse, die ich aus PhysBaseAdr auslese, hinschreiben):
Pixel:
0x5000 = Blauwert
0x5001 =  Grünwert
0x5002 = Rotwert
so und nun
0x5003 = ???
was geben die letzten 8bit der 32bit eines pixels an? in der VESA doc (VESA3.0) findet man nur infos zu den ersten drei Byte RGB.
Wäre nett, wenn ihr mir ein letztes mal bezüglich VESA helfen könntet.
Dieses Byte gibt aber definitiv nicht schon den Blauwert des nächsten Pixels an. Das habe ich getestet...

Cheebi
Titel: Re: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 26. July 2006, 04:01
Zitat von: Cheebi
0x5000 = Blauwert
0x5001 =  Grünwert
0x5002 = Rotwert

Stimmt imho nicht, die Reihenfolge kann bei jeder Grafikkarte anders sein und muss über irgendeine von den VBE Strukturen ausgelesen werden.

Zitat von: Cheebi
was geben die letzten 8bit der 32bit eines pixels an?

Nichts, betrachte es als padding, um einen 32bit align herzustellen. Falls du keinen align hättest müsste der Prozessor bei einem Schreibzugriff afaik 2x32bit lesen und danach 2x32bit schreiben.

Bei offscreen buffern (also zB bei Texturen/Surfaces unter directX) kann man das verbleibende Byte für Alpha (Transparenzeffekte) nutzen. Das ist aber nicht mit VBE möglich, da brauchst dann nen auf die grafikkarte zugeschnittenen Treiber.
Titel: Re: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: MNemo am 26. July 2006, 12:50
Zitat von: bluecode
da brauchst dann nen auf die grafikkarte zugeschnittenen Treiber.

Wieso auf die grafikkarte zugeschnitten
so  :arrow: http://de.wikipedia.org/wiki/Alpha_Blending müste dass auch mit VESA gehen(man muss halt alles selbst berrechnen) :)
Titel: Re: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 26. July 2006, 21:05
Zitat von: MNemo
(man muss halt alles selbst berrechnen)

Is klar, aber es gibt eben keine Hardwareunterstützung. Das meinte ich damit. Ich kann auch mit VBE Dreiecke im 3d raum rendern, aber eben halt nur mit software und ohne hardwareunterstützung :roll:
Titel: Re: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: thetrue am 26. July 2006, 21:11
Zitat von: bluecode
Zitat von: MNemo
(man muss halt alles selbst berrechnen)

Is klar, aber es gibt eben keine Hardwareunterstützung. Das meinte ich damit. Ich kann auch mit VBE Dreiecke im 3d raum rendern, aber eben halt nur mit software und ohne hardwareunterstützung :roll:


jo, dann hat die CPU was zu tun ... wobei das ganze der grafikkarten chip übernhemen könnte :)
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 26. July 2006, 22:42
na dann schreib mal nen Treiber zu nem Hardwareteil über den du unter normalen Umständen (kA ob sich Nvidia oder ATI auf NDAs mit Privatpersonnen einlassen) keine docs kriegst.
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bitmaster am 26. July 2006, 23:17
Zitat von: bluecode
na dann schreib mal nen Treiber zu nem Hardwareteil über den du unter normalen Umständen (kA ob sich Nvidia oder ATI auf NDAs mit Privatpersonnen einlassen) keine docs kriegst.
Jo, habe ich mir beim durchlesen auch gedacht. ^^

bitmaster
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: thetrue am 26. July 2006, 23:48
leute habe paar books:

GPU Programming Guide - NVidia - 2004 <-- das habe ich bald
Nvidia Gpu Programming Guide Ver 2.2.0
ATI Developer Get the programming information for the coolest, most advanced graphics processors
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 26. July 2006, 23:56
Dir ist schon klar dass das nichts mit nem Treiber für ne Grafikkarte zu tun hat? :wink:
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: thetrue am 26. July 2006, 23:57
hä?
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 27. July 2006, 00:04
Die GPU Guides dokumentieren doch imho nur das Instruction set der GPU. Nicht aber wie ich die Grafikkarte dazu bring den modus zu wechseln, irgendwelche bitblt durchzuführen, irgendwelche Shader zu laden bzw. am untersten Ende den Aufbau des PCI Config space & der I/O Ports der graka.
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: Jidder am 27. July 2006, 12:33
Zitat von: thetrue
GPU Programming Guide - NVidia - 2004 <-- das habe ich bald

Dauert der Download (http://developer.nvidia.com/object/gpu_programming_guide.html) so lange? ;)

Ich hab mal kurz reingeschaut und es sieht nicht so aus, als wäre es fürs OS-Dev zu gebrauchen.
Titel: 32bit-Pixel VESA ??? wozu 4. Byte???
Beitrag von: bluecode am 27. July 2006, 14:40
Jo, habs mir auch angeschaut Wie gesagt, es wird nichts auf der Port I/O Ebene erklärt. Es stehen nur tips & tricksfür directx bzw. ogl anwendungen drin.